Each morning, picks ONE unanswered Socratic reflection question from the last 7 days of tablet brief PDFs and surfaces it as that day's *only* question — paired with the original commit that birthed it. Turns the journaling pipeline from a firehose of new prompts into a deliberate echo chamber that forces Ethan to actually sit with a question instead of skimming past it.
Create ~/bin/socratic-echo-loop (bash, ~70 lines): (1) glob ~/Tablet/socratic-*.pdf from last 7 days, (2) extract questions via pdftotext + grep '^Q[0-9]', (3) cross-reference ~/.claude/cache/socratic-answered.log (append-only ledger of question hashes Ethan has hand-written responses to — populated by note-ocr/ watcher scanning ~/Tablet/ for stylus annotations near question text), (4) pick oldest unanswered question weighted by commit-subject novelty (gemma-task scores it), (5) regenerate a single-page PDF via pondercard-generate with 'You asked this N days ago — what's changed?' header + original commit hash, (6) drop in ~/Tablet/ for next sync. Wire as cron '0 6 * * *' alongside existing morning-tablet-brief. Add bats test asserting unanswered-question selection logic + dedup against ledger.