Command Control
Production lives on the Mac Mini. The MacBook Pro stays free for custom/manual work and experiments.
Scheduler
Check it
log fresh 24m ago
Total Jobs
36
across 8 categories
Paused
3
rm pause file to resume
Failing (24h)
0
jobs with 3+ recent failures
Machine Roles
Production runner
Mac Mini
Check
scheduler needs attention; dashboard tunnel running; 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
1. Production runner
Restart or inspect the Mini scheduler
The scheduler process or its log freshness is not healthy, so every downstream automation is suspect.
3. Briefing data gate
Refresh stale feeds before paying for briefings
Facebook listings audit (11d ago) · VinCue used raw export (3d ago) · VinCue new raw export (2d ago) · Inventory summary (2d ago)
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 | 🟢 healthy | 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 | 🟢 healthy | 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 | 🟢 healthy | 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 | ⏸ PAUSED | 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. 27 stale, 10 frozen out of 37 tracked. If a number on the Command Center looks wrong, find the source here and check who wrote it.
Daily Reports · 9
| What it is | Path | Written by | Status | Last update | Expected |
|---|---|---|---|---|---|
| Watchdog state | memory/watchdog-state.json | scheduler-watchdog | 🔴 ancient | 22d ago | expects <24h |
| Morning briefing | memory/morning-briefing-latest.json | morning-briefing | 🟡 stale | 2d ago | expects <24h |
| Review requests | memory/review-request-state.json | vin-review-request | 🟡 stale | 1d ago | expects <24h |
| VIN tasks | memory/vin-tasks-state.json | vin-read-tasks | 🟡 stale | 1d ago | expects <24h |
| Action requests | memory/action-requests-state.json | vin-action-requests | 🔴 frozen | 1d ago | expects <12h |
| Deal tracker | memory/deal-tracker-state.json | vin-deal-tracker | 🟡 stale | 1d ago | expects <24h |
| Commitments | memory/commitments.json | check-commitments | 🔴 frozen | 1d ago | expects <12h |
| Pending approvals | memory/pending-approvals.json | vin-check-approvals | 🟢 fresh | 8h ago | expects <24h |
| Appointment status | memory/appointment-status-state.json | vin-appointment-confirm | 🟢 fresh | 6h ago | expects <24h |
External Scrapers · 8
| What it is | Path | Written by | Status | Last update | Expected |
|---|---|---|---|---|---|
| Dead deals | memory/dead-deals-latest.json | dead-deal-detector | 🟡 stale | 2d ago | expects <24h |
| Orphan scan | memory/orphan-scan-latest.json | orphan-lead-scanner | 🟢 fresh | 2d ago | expects <48h |
| SMS-blocked list | memory/sms-blocked.json | vin-* (carrier feedback) | 🟢 fresh | 1d ago | expects <72h |
| Dedup scan | memory/dedup-scan-latest.json | dedup-scanner | 🟢 fresh | 1d ago | expects <48h |
| Auto-assign log | memory/auto-assign-latest.json | auto-assign-leads | 🟡 stale | 1d ago | expects <24h |
| Classify hashes | memory/classification-hashes.json | classify-leads | 🟡 stale | 1d ago | expects <24h |
| Outcome tracker | memory/outcome-tracker.json | vin-deal-tracker | 🟢 fresh | 9h ago | expects <24h |
| Axcessa metrics | memory/axcessa-scraper-state.json | axcessa-scraper | 🟢 fresh | 2h 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 | 🔴 ancient | 66d ago | expects <168h |
| VinCue rebate cache | data/vincue-rebate-cache.json | vincue-price-and-describe | 🔴 ancient | 37d ago | expects <168h |
| Facebook listings audit | data/fb-live-listings-audit.json | fb-marketplace-audit | 🔴 ancient | 11d ago | expects <36h |
| VinCue used raw export | data/inventory/used-inventory-latest.xlsx | vincue-inventory-export | 🟡 stale | 3d ago | expects <36h |
| VinCue new raw export | data/inventory/new-inventory-latest.xlsx | vincue-inventory-export | 🟡 stale | 2d ago | expects <36h |
| Inventory summary | data/inventory-summary.json | vincue-inventory-export | 🟡 stale | 2d ago | expects <36h |
| Call performance | data/call-performance.json | callrevu-export | 🟡 stale | 2d ago | expects <36h |
| Austin used inventory | data/austin-used-inventory.json | vincue-inventory-export | 🟡 stale | 2d ago | expects <36h |
| Buda used inventory | data/buda-used-inventory.json | vincue-inventory-export | 🟡 stale | 2d ago | expects <36h |
| Manor used inventory | data/manor-used-inventory.json | vincue-inventory-export | 🟡 stale | 2d ago | expects <36h |
| CallRevu raw export | data/callrevu/employee-performance-latest.xlsx | callrevu-export | 🟢 fresh | 4h 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 | 21d ago | expects <1h |
| Sent registry | memory/sent-registry.json | vin-* (any sender) | 🔴 frozen | 7h ago | expects <2h |
| Message log | memory/message-log.json | vin-* (any sender) | 🟡 stale | 7h ago | expects <4h |
| Situation monitor | memory/situation-monitor-state.json | vin-situation-monitor | 🔴 ancient | 5h ago | expects <1h |
| Cadence state | memory/followup-cadence.json | vin-proactive-outreach | 🟢 fresh | 2h ago | expects <2h |
| First-touch state | memory/first-touch-state.json | vin-first-touch | 🟡 stale | 2h ago | expects <1h |
| Auto-responder state | memory/auto-responder-state.json | vin-auto-responder | 🟡 stale | 2h ago | expects <1h |
| Dashboard scan | memory/dashboard-scan-state.json | vin-dashboard-scan | 🟢 fresh | 19m ago | expects <1h |
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 | 5h ago · 0s · exit 0 | |
| vin-leak-alert | Approvals & Alerts | 🟢 healthy | 5h ago · 3s · exit 0 |
Data Pipeline · 3
| vin-deep-extract | Data Pipeline | ⚪ idle | — | |
| 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 | ⏸ PAUSED | — | ||
| fb-marketplace-drip-poster | ⏸ PAUSED | — | ||
| fb-publish-drafts | ⚪ idle | — |
Lead Management · 5
| orphan-lead-scanner | Lead Management | ⚪ idle | — | |
| auto-assign-leads | Lead Management | ⚪ idle | — | |
| dedup-scanner | Lead Management | ⚪ idle | — | |
| vin-read-tasks | Lead Management | ⚪ idle | — | |
| dead-deal-detector | Lead Management | ⚪ idle | — |
Monitoring · 5
| vin-situation-monitor | Monitoring | 🟢 healthy | 5h ago · 17s · exit 0 | |
| 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 | 🟢 healthy | 2h ago · 47s · exit 0 | |
| vin-auto-responder | Outreach | 🟢 healthy | 2h ago · 18s · exit 0 | |
| vin-proactive-outreach | Outreach | ⚪ idle | — | |
| after-hours-ack | Outreach | 🟢 healthy | 24m ago · 7s · exit 0 | |
| saturday-reengage | Outreach | ⏸ PAUSED | — |
Reports · 9
| morning-briefing | Reports | ⚪ idle | — | |
| 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 | — |