06aac296f1
Deploy to route.crispygoat.com / deploy (push) Has been cancelled
Adds captureGps() helper to TimeTrackingFieldClient and threads it into handleSelectTask + handleClockOut. Server treats gps_verified as advisory (accuracy_m <= 100) so workers are never blocked from clocking in/out if the browser denies geolocation or the context is insecure. Also picks up the manual-entry / manual-logs reducer plumbing that was left over from the WIP — the actions exist in src/actions/time-tracking/field.ts (submitManualTimeLog, getRecentTimeLogs) and the reducer is wired to call them, but the HubScreen / ManualEntryScreen render paths still live in the parent screen router and consume the state correctly.