What was built
Each morning it reads today's Google Calendar, finds your largest unscheduled gap, cross-references which active project has gone stalest (no commits/sessions longest), and pushes ONE tablet card naming the block and the project to spend it on. Instead of generic reflection prompts, it answers the harder question: given the time you actually have free today, what most deserves it?
How it works
Create ~/bin/open-block-focus-card (bash, ~80 lines). 1) Pull today's events: env GOOGLE_WORKSPACE_CLI_CONFIG_DIR=~/.config/gws-bys /home/ethan/.npm-global/bin/gws calendar events list --params '{"calendarId":"primary","timeMin":,"timeMax":}' --format json, then compute the largest free interval between 9am-6pm in awk. 2) Determine staleest project by scanning each active project dir's `git log -1 --format=%ct` plus newest mtime in ~/.claude/projects//*.jsonl, pick max-age. 3) Compose a short card (block start/end + duration + project name + its last-touched date) and write to ~/Tablet/briefs/ via the existing tablet-sync path (mirror socratic-tablet-brief's output mechanism). 4) Cron at 7:00am: append to crontab via safe-append pattern. Add open-block-focus-card.test.sh asserting the gap-finder picks the correct largest interval from a fixture events JSON.
Build status
Build timed out after 5 minutes