What was built
Each morning a cron reads today's Google Calendar, matches each meeting's title/attendees to a folder in ~/relationships/, and pulls that contact's most recent open action items and last-meeting notes into a single e-ink-friendly card synced to the TCL tablet. So before every call Ethan glances at his tablet and sees not just '10am John Anderson' but '10am John Anderson — you owe him the functional spec; last time you discussed the ELP synthesis.' It turns walking into a meeting cold into a solved problem, using infrastructure he already has.
How it works
Create ~/bin/meeting-paper-brief (bash+python, ~80 lines). (1) Query calendar: env GOOGLE_WORKSPACE_CLI_CONFIG_DIR=/home/ethan/.config/gws /home/ethan/.npm-global/bin/gws calendar events list --params '{"calendarId":"primary","timeMin":,"timeMax":}' --format json. (2) For each event, fuzzy-match summary + attendee display names against `ls ~/relationships/` (lowercased, first-name or last-name token match). (3) For matches, grep the contact's profile.md and newest dated *.md for lines under 'action items'/'next steps'/'I owe'/'promised', plus the 1-line topic of the latest entry. (4) Write a scannable card to ~/Tablet/MeetingBrief-$(date +%F).md — one block per meeting with time, name, 'You owe:', 'Last discussed:'. Unmatched meetings list time+title only. (5) Wire a 6am cron via the safe-append pattern. Add a sibling ~/bin/meeting-paper-brief.test.sh asserting the matcher links a sample calendar event to the right relationships folder and that owed-items are extracted. Reuses the pre-meeting-briefer agent's matching logic but runs automatically and lands on the physical tablet.
Build status
Build timed out after 5 minutes