What's real here. 6 providers, manual Sync Now, and coarse status (pending/syncing/success/failed) are shipped — verified against the monorepo 2026-07-09. Scheduled sync, the sync-health dashboard, and live progress are proposed and carry a ◇ Design-ahead tag below — nothing on this screen claims to be more built than that tag admits.
Loading provider connections… (skeleton shimmer pauses under reduced motion)
✖
Couldn't load telematics connections. The list request timed out. No provider connection or sync schedule has changed — this is a display problem, not a sync problem.
Connect a provider to bring meter hours, locations, and fault codes in automatically. The first sync auto-creates placeholder gear for any reporting unit that isn't already in GearJot — nothing overwrites what you've entered by hand, and a new excavator VIN shows up in Fleet ready to merge into a real record like EX-214.
Six providers are available: Caterpillar, JCB LiveLink, Komatsu (Komtrax), Liebherr, Volvo (CareTrack), FleetMotion. Sync fires on connect, on manual Sync Now, and on the scheduled fleet-wide sweep (shipped 2026-07-09 — 5-min default, 15-min per-integration floor). Evidence-based per-provider intervals are design-ahead (issue #252).
⚠
You're offline. These connections show their last known state (7:02 AM). Sync only ever fires on connect or a manual Sync Now — both need a connection — so nothing runs while you're offline. Reconnect to catch up.
◆
Nothing queues here. Unlike inspections or tasks you fill out on this device, a telematics sync is a pull from the provider's cloud, not a local write — there's no offline queue to flush on reconnect, so Sync Now and Connect are disabled below instead of silently accepting a tap that can't run.
Bring in meters, locations, and fault codes for your FleetMotion-equipped fleet automatically.
Field data you capture offline — inspections, tasks — still queues on this device and syncs on reconnect. Telematics is different: it's a provider pull, so it just waits.
Providers connected
2 / 6
● 2 healthy
Units reporting
137 / 260
Caterpillar 96 · Liebherr 41
Open sync errors
1
✖ Volvo — invalid credentials
Last activity
2 min ago
Caterpillar Sync Now
📡
Caterpillar
● Connected
96 units reporting across all 3 sites · last synced 2 min ago
Reporting today via Caterpillar & Liebherr: EX-214, DT-330, GN-042, RL-88, WL-203, among others.
Sync status lifecycle◇ Design-ahead (progress bar)
before connect○ Not connected
→
connected, no sync yet○ Pending first sync
→
running↻ Syncing…
→
done● Connected
Error paths from any state:✖ Invalid credentials✖ Provider unreachable✖ Sync failed▲ Sync stuck — try again
Status is polled every 2 seconds (HTTP) today, not pushed. A realtime channel already exists on the wire for this — no screen consumes it yet, which is the one thing tagged design-ahead on this card.
Time
Provider
Result
Note
2 min ago
Caterpillar
● Connected
96 units updated
28 min ago
Liebherr
● Connected
41 units updated
6:02 AM
Volvo (CareTrack)
✖ Invalid credentials
error code invalid_credentials — reconnect needed
yesterday 4:15 PM
Volvo (CareTrack)
✖ Provider unreachable
error code provider_unavailable — CareTrack API timed out
yesterday 11:40 AM
Liebherr
▲ Sync stuck — try again
run exceeded 30 min, auto-reclaimed; the next Sync Now started clean
3 days ago
Caterpillar
✖ Sync failed
error code unknown — transient; next Sync Now succeeded
Coarse status only — pending | syncing | success | failed, with error codes invalid_credentials · provider_unavailable · unknown. Starting a sync while one is already running is rejected outright (HTTP 409), not queued; a run stuck past 30 minutes is auto-reclaimed so the next Sync Now can start clean.
Schedule
Sync schedule◇ Design-ahead (issue #252)
Global defaultEvery 60 min (fleet-wide, all connected providers unless overridden)
JCB · Komatsu · FleetMotionGlobal default○ Not connected
Per-provider numbers are proposed from V1 cadence analysis, not measured on V2 yet. Volvo and Liebherr "as-of" timestamps are flagged unreliable in that analysis — don't treat their next-sync estimates as exact until this ships.
Today: a fixed fleet-wide sweep runs on schedule (shipped 2026-07-09 — 5-min default, 15-min per-integration floor), plus on-connect and manual Sync Now. What this card adds — a config UI and per-provider cadences — is proposed, not built (issue #252).
Health
Sync health◇ Design-ahead
Today you only get the per-connection badge above. This card proposes fleet-wide rollups — error rate by type, per-provider health, and a dead-letter-queue summary — so "your credentials are wrong" and "the provider is down" read differently at a glance instead of both just looking red.
Error rate (7d)4.2% of sync attempts (3 of 71)
By error typeinvalid_credentials ×2 (Volvo) · unknown ×1 (Caterpillar, transient)
Provider health● Caterpillar● Liebherr✖ Volvo
DLQ0 messages parked
What syncs when
●
On connect — the first sync fires the moment a provider is authorized.
●
Manual Sync Now — anyone with access can trigger a sync per connection, any time; a second request while one is running is rejected, not queued.
●
Scheduled fleet-wide sync — shipped 2026-07-09 (monorepo #263/#264): a Temporal sweep runs every 5 min by default with a 15-min per-integration floor. The Sync schedule card above (config UI + per-provider intervals, issue #252) stays design-ahead.
Engine notes: ingestion runs through a purpose-built pipeline (gearsync), deliberately kept out of the generic write path — backend-only, no UI here. Canonical signal normalization into provider-agnostic fields happens at ingest, before anything reaches this screen. Streaming/AEMP ingestion beyond OEM pull is explicitly future per spec — this grid is the OEM-pull connector, not a live telemetry stream.
DESIGN MOCKUP — GearJot V2 · C2e·Straight · design target, not a screenshot.
Tokens: foundation-tokens-vC2e-straight.json (every ratio computed) · gloved 44/48px floors · status = glyph + label, never color alone.
Shipped: 6 providers, manual Sync Now, coarse status, scheduled fleet-wide sweep — 5-min default, 15-min per-integration floor (#263/#264; verified against monorepo 2026-07-13). Design-ahead, tagged on-screen: schedule-config UI + per-provider intervals (issue #252), sync-health dashboard, live progress. ← Prototype home