Upload today's files
Violations Detail Report (.xlsx) and driver logs (.pdf) — together, in any order.
⭱
Drag files here or browse
Report .xlsx · driver logs .pdf
Violations
HOS violations from the Omnitracs report — the tracker's scope.
What changed overnight
The nightly pull runs at 12:00 UTC. This is what it added and what dropped off — the same
added/fell-off figures the manual upload used to show you, kept per run so nothing happens silently.
Press Last run.
HOS violations
ELD exceptions
All
0
Fixable
0
Not fixable
0
Sites
0
Need log
0
Overdue
0
Fell off
All
Fixable
Not fixable
No violations match. Upload a Violations Detail Report to begin.
Driver logs needed
One row per driver per violation date. Pull the log from Omnitracs and drop it in.
Uploading the prior day as well is what lets the engine see a shift that started before midnight.
| Site | Driver | Violation date | Also pull | Violations | Upload log |
|---|
Nothing outstanding — every open violation has its driver log.
Tracker
Your workbook's exact columns. Blue cells are yours to fill — they save as you type.
Grey cells come from Omnitracs or the engine and can't be edited here.
HOS violations
ELD exceptions
Nothing to show.
Assistant
Ask about any driver, violation, or log. It reads the tracker and pulls live Omnitracs logs to answer — same reasoning we use here.
Grounded in your tracker and live Omnitracs logs. Enter to send, Shift+Enter for a new line.
Fix Checker
Fill in what you know and leave the rest blank. Read the logs gives you a one-page sheet per
violation saying whether it can be fixed and how. Diagnosis Doctor answers the other question — why a
violation has not fallen off the report yet.
Anything the log cannot show — who was really at the wheel and when,
a yard move, a later start. A name is enough; the ID is not needed.
Diagnosis Doctor answers why a violation has not fallen off the report.
It leaves the Omnitracs report for three reasons only: the record was corrected and the driver accepted it,
a recalculation decided it was never real, or it aged out. Anything else and it stays. Fixable is not fixed.
Look up a raw log (driver + date range)
Leave To blank for a single day. A co-driver question usually needs
the day before as well — the swap that causes a violation is often on the previous shift.
Who or what set an entry (driver + day)
Reports
Logout scan — who is not going Off Duty
A missing Off Duty entry is a risk, not a violation — most tidy
themselves up when the driver goes off duty the next morning. The count that matters is how many actually produced one,
which is matched against your open violations, not assumed. Logging out is not going off duty. When the entry is missed the duty period never
closes and the next day’s limits are still measured from the last one — which is how a driver who rested all night
picks up a 14-hour violation on his first mile. Same driver every week is coaching; same truck across different
drivers is a power harness.
Stuck on duty
Drivers whose clock is still running while they are at home.
On-demand reports pulled live from Omnitracs across every site.
One-pagers — put every violation on the same format
Three generations of one-pager are in circulation, so two rows can give you two
different documents. This rewrites them all in the current format. It is free — the rules engine writes
these sheets and no model is called. It runs in slices to stay inside Cloudflare’s free browser allowance, so run it
again until it says nothing is left.
▸ Site scorecard — accountability
Who’s current and who’s behind. Overdue = past its due date (Fixable 5 days, Not fixable 10). Fixed and Avg days to fix come from violations that dropped off the official report — proof the correction actually landed.
Driver check — hours available & Big Day
Answers both at once: the last 10-hour reset and what’s left (drive / 14-hr window / weekly), and whether the 16-hour Big Day was used in the past 168 hours — with the date it’s available again.
Trip length — how long each run actually takes
Measures every duty tour to the hundredth of an hour (13.78h, not “about 14”), grouped by Route ID from dispatch. Routes averaging over 13 hours are manufacturing 14-hour violations — this is where you fix the schedule instead of coaching the driver.
Violation rollup — first instance only
One row per incident, not per re-trigger. Consecutive days of the same driver + type collapse into a single violation (a 70-hour that re-fires all trip counts once). Flags multi-day incidents and likely stuck-in-drive.
ELD malfunctions — by vehicle & site
Days with a recorded sensor/ELD failure, grouped by vehicle and site — find the trucks that keep breaking. Heavy pull; runs in batches.
Log edits by site — last 7 days
Every log edit in the last 7 days across all fleets, split driver vs. manager/office. Heavy pull — runs in batches. After it loads, ask the Assistant “who made the manager edits at [site]?” for the per-person breakdown.
Edit detail — pick a site
Every edit for that site and period — who edited, the line, when, and whether it was re-certified. Longer periods pull in windows, so 6 months takes a bit.
Driver settings & permissions
Reads each driver’s profile from Omnitracs: HOS rule set, Personal Conveyance, Yard Move and its termination settings, Big Day, Adverse Weather, split OFF/SB pairings, status and ELD exemption. Flags drivers missing a permission that would otherwise clear a violation. Read-only — nothing is changed.
Unassigned Vehicle Activity — find the queue
The tracker only sees a UVA once it has already become a violation on a
named driver — 11 of them. The real queue lives in the Omnitracs host. This asks Omnitracs directly: it tries
14 candidate endpoints and sweeps the driver-log feed that already works, in case unassigned activity is
arriving there as a pseudo-driver. Read-only — every call is a GET and nothing can be assigned or rejected.
A sweep asks every site in the group, so you can see which ones the activity is coming from.
ELD phantom driving
Auto-recorded DRIVING that the ELD creates after the driver has logged out.
Omnitracs confirmed this in writing on 27 Aug 2026 as a known bug: the driver cannot edit it, it pushes
him over hours, and it will keep happening until the next mobile firmware release — for which there
is no ETA.
Why this has to be found here rather than by the driver
He has logged out and gone home before the block appears.
Kris Moore’s 10 August block landed on a day he had already certified at 07:54 the next
morning. Omnitracs’ instructions — annotate the false entry, then hand-calculate available
hours to the next reset — are impossible unless someone catches it first. That is this page.
Every driver, every day in the window — not just rows that
already carry a violation. A block eats the driver’s available hours whether or not it tipped him
over, and the ones that have not yet are the drivers about to be caught by it.
Nothing scanned yet. Click Scan the fleet.
Edit status
What happened to every correction that was sent to a driver. An edit is only a
proposal until the driver accepts it and re-certifies the day — until then the violation
stays open, whatever the host shows.
Nothing scanned yet. Click Scan all open violations.
Annotations
What is actually written on each log, and by whom. “We annotated it” is the easiest
thing to say and was the hardest thing to check — this is the record, so it does not have to be taken
on trust. An annotation explains a day; it never closes a violation on its own.
Two rules do the work here. 49 CFR 395.30(c)(2) requires an
annotation on every change made to a driver’s record, and 395.32(b) on every unidentified segment a
driver assumes. The ELD specification sets a 4-character minimum — “ok” and “x”
are not annotations. Text the ELD writes by itself (rule-set changes, inspections, “adjust time”)
lands in the same column and is not an annotation; it is shown separately below.
Nothing scanned yet. Click Scan all open violations.
Who gets the daily reminder for each site, and a preview of exactly what would go out.
Emails are in dry-run. “Send now” shows you exactly who would receive what, and sends nothing.
Centers
| Site | Manager | CC | Active |
|---|
This is me
Used as the From on Outlook drafts the Fix Checker builds. No login, no account — just so the draft opens as you. Nothing is emailed from here.
Settings
How the tracker behaves. Each card saves on its own.
My sites
Tick the sites you are responsible for. Reports and lists default to these — the rest stay available but out of the way.
Due dates & escalation
How long a site gets before a violation is overdue, and who to copy when it goes past due.
AI engine
Which model answers in Assistant and Deep Dive. Fix Check does not use a model at all —
its verdicts are deterministic code, so this setting does not affect them.
Claude needs the
ANTHROPIC_API_KEY secret. The model comes from the
CHAT_MODEL variable — claude-opus-5 for the sharpest answers,
claude-sonnet-5 for a cheaper one. Deep Dive can be set separately with DEEP_MODEL.Backup & restore
A snapshot of every violation and all your work. Take one before any big change.
Unassigned Vehicle Activity
Load the UnassignedVehicleActivity CSV export. The Fix Checker uses it to tell a driver's own driving from motion a truck booked to him because its association never released — the Kris Moore case. Re-loading the same export is safe; rows update in place.
⇪
Drop the UVA .csv or browse
Import an old tracker
One-time migration from a previous Excel tracker.
Import your existing tracker
Brings your historical open items in, so fall-off detection has something to compare against.
This previews before it writes. Nothing is saved until you review the dry run and press Commit.
Rows whose violation type doesn't match Omnitracs' wording are flagged — if they were imported as report-sourced,
the next report could mistake them for resolved violations and drop them.
⇪
Drop your tracker .xlsx or browse
Diagnostics — for troubleshooting, not day-to-day use
These check the plumbing: which HOS settings Omnitracs will return, which writers work on this account, and how the same sheet reads from each writer. Nothing here changes a violation or a one-pager.
Walks the Omnitracs service surface read-only and reports which entity carries Yard Move termination, the geo-fence rules and Adverse Weather.
Renders one real violation written by the engine alone and by Kimi, side by side.