🚀 8/4 Release
✨ Enhancements
Metrics & Datasets (self-serve, still behind the flag)
• Jobber is now a source in the New Dataset wizard — source card → report list (Jobs / Tech Timesheets) → config with live preview → create, reusing the existing OAuth connection
• Live data preview extended to the ServiceTitan, Google Sheets, and file-upload wizard flows — every source now returns the same columns/rows/total_rows shape, so the preview table looks identical no matter where the data comes from
• Quick Form panel in the Configure Metric modal — build a metric from picked fields instead of writing SQL
• AI chat for metric authoring — generate a metric from a plain-English prompt, save it, or apply it to an existing one, behind its own kill-switch
• Configure Metric modal now explains what a metric actually computes — a plain-English rendering of the underlying SQL instead of nothing
• Standalone metrics can be created for all seven plan frequencies (weekly through annually), with week-start handling for the weekly ones
Team Management
• "Delete" and "Mark Inactive" folded into a single "Remove Team Member" action — enrolled employees are unenrolled and marked inactive (never hard-deleted, so award history survives); never-enrolled employees are removed outright
Payouts
• Hourly vs commission shown side by side in the payout simulation and on employee home — owners evaluating a pilot and techs checking their own number see both figures framed as a comparison instead of one in isolation
Internal
• DIS records LLM token usage and cost per call, with an LLM Usage tab in Company Data — stat cards, filters, and roll-ups by feature / model / company
🐛 Bug Fixes
Leaderboards
• "This week" no longer double-counts when a plan's week start differs from the company's — the window straddled two weekly distributions and summed both
Employee View
• Employees no longer see plans they aren't enrolled in — inactive enrollments were rendering alongside active ones
Plan Creation
• Plan-builder metric pickers (Add KPI, thresholds, qualifiers, custom factors) can now see standalone metrics — discovery ran through plan-association joins, so any metric not already attached to a plan was invisible in all five pickers
• Add Metric now requires a Format at creation — metrics were saving with a NULL format, which left detail pages untyped and broke the plan-builder's format lock
Metrics & Datasets
• Re-creating a dataset against an inactive data source now errors instead of silently returning the dead source, which would never sync (edited)
🚀 8/21 Release
✨ Enhancements
Job-Based Plans
Admins can set the mix on a multi-crew split — choose how a job award is divided across roles instead of a single split
Performance
Custom date range is back on the plan performance / leaderboard view, including “last month,” which the new view couldn’t select
App speed
Admin and employee home pages paint from the server instead of a loading skeleton, and fast navigations no longer flash a spinner
🐛 Bug Fixes
Payouts
Pool plans that miss their threshold still show on the payout report (the period column was dropping entirely)
Syncing a metric now updates payout review immediately — no hard refresh, and opening a payout no longer silently rewrites stored values (including already-paid ones)
Manual metric edits from Metrics Hub now show up in review instead of the wizard keeping a stale cached number
Metrics
Sync is only disabled while a sync is running, not for an arbitrary cooldown after it finishes
People
Date of Birth picker on Edit Team Member no longer duplicates the month/year dropdowns
🔧 Internal
Threshold grouping no longer crashes when a plan has several same-named distributions
Removed the leftover “Update Dashboard Data” action from the plan menu
