M

Manor AI

Leif Johnson Ford
Live

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 Facebook ⏸ PAUSED
fb-marketplace-drip-poster Facebook ⏸ PAUSED
fb-publish-drafts Facebook ⚪ 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