feat(commands): add /gmail-sync - confirm-before-write status sync from Gmail (#170)

Scans Gmail (via the claude.ai Gmail connector) for status signals on open tracked applications - interview invites, assessments, offers, rejections - and proposes them as a sourced batch the user must approve before anything is written to job_search_tracker.csv or outcome.md. Never proposes hired/offer_declined (user's real-world decision), routes conflicting signals to manual /outcome, appends-only to Notes, idempotent by message ID, read-only against the mailbox, and degrades to one message + clean exit without the connector (the /notion-sync precedent). State is gitignored personal data.

By @chenyuan99, who raised the connector-dependency tension himself and restructured classification and writing into separate approval-gated steps.
This commit is contained in:
Yuan Chen
2026-07-19 19:38:15 +02:00
committed by GitHub
parent f51a766e72
commit 61d17d1bda
3 changed files with 190 additions and 1 deletions
+3
View File
@@ -66,6 +66,9 @@ documents/postings/**
# Personal job search tracking
job_search_tracker.csv
# Gmail sync state (message IDs, subjects - personal data)
gmail_sync/
# Generated reports (personal output from /html-report)
reports/