Ethan's morning Socratic prompts (generated from his commits) go OUT to the tablet, get hand-journaled, and OCR'd back — but that genuine first-person reflection currently dead-ends in storage. Meanwhile the linkedin-engine drafts posts straight from dry commit subjects. This bridges the two: when a handwritten journal answer contains real substance, it becomes an authentic LinkedIn draft in Ethan's actual voice instead of a synthetic commit-paraphrase.
Create ~/bin/reflection-to-linkedin (bash, ~80 lines) + sibling .test.sh. It scans the note-OCR output dir (~/Tablet/ processed text via the note-to-memory pipeline) for entries dated since the last run that match the Socratic morning-brief format (the commit-socratic-tablet-brief output carries an identifiable header/prompt line). For each fresh answer, pipe the reflection text to local gemma (`gemma-task`) with a judge prompt: 'Does this contain a shareable professional insight? Return YES + the core idea, or NO.' On YES, call the existing `linkedin-draft-enrich` with the reflection as seed (not the raw commit), staging a draft. Register a daily cron at ~9:30 UTC (after morning OCR settles), guarded by a last-run statefile in ~/.local/state/reflection-to-linkedin/. Dedupe by hashing the source note path so each journal entry drafts at most once.