Innovation Engine — productivity

Commit Timesheet

June 21, 2026

Builds an honest, automatic time-tracking record from git history. Every evening it scans all repos under ~/, clusters the day's commits into focus blocks per project (90-min gap = block boundary), and writes them as timed events onto a dedicated 'Work Log' Google Calendar. Ethan does client billing and plans his week 'billable work first' — but currently has zero retroactive record of what he actually worked on when, only meetings. This closes that gap with no manual logging.

gitgws-calendar

Create ~/bin/commit-timesheet (python3, ~80 lines) + a 7pm cron line. Discover repos with `find ~/ -maxdepth 2 -name CLAUDE.md -not -path '*/node_modules/*'`, then per repo run `git -C

log --since='5am' --until=now --pretty='%H|%ct|%s' --author-date-order`. Group commits where consecutive timestamps are <90min apart into a block (start = first commit time, end = last + 15min buffer). For each block, create a Google Calendar event via the gws CLI on a 'Work Log' calendar: `env GOOGLE_WORKSPACE_CLI_CONFIG_DIR=/home/ethan/.config/gws-bys /home/ethan/.npm-global/bin/gws calendar events insert --params '{...summary: ": N commits", description includes the commit subjects + hashes...}'`. Idempotency: embed each block's first commit hash in the event description and skip creation if a same-day event already contains it (list events for the day first). Pick the bys account for client-billable repos, personal otherwise based on repo path. Test with a pytest that feeds fake `git log` output and asserts correct block clustering + dedup.

Needs Review
Build timed out after 5 minutes
Active Projects
innovation-engine, russ-telegram, joyos-labs-monitor, joyos-lab-staging, jekelinspections
Category
productivity