Each morning, harvest the 3 highest-signal Socratic questions generated overnight by socratic-reflection-harvester and socratic-question-resurfacer, render them as a single handwriting-ready PDF with generous whitespace, and drop it into ~/Tablet/ so the Doc Markup app shows it as the first thing Ethan sees on his TCL NXTPAPER. Answers he ink-annotates get OCR'd by the existing note-ocr service and piped to note-to-memory, closing the loop from commit → question → handwritten reflection → searchable memory.
Create ~/bin/tablet-question-inbox (bash, ~80 lines): (1) query the last 24h of output from socratic-reflection-harvester + socratic-question-resurfacer (read their log/output dirs), (2) rank by recency+novelty, take top 3, (3) shell out to python with reportlab to generate /tmp/questions-YYYY-MM-DD.pdf with one question per page, large serif font, ruled lines for stylus, (4) cp into ~/Tablet/inbox/ (mutagen syncs to tablet-sync.braceyourself.solutions automatically), (5) notify-focus 'Morning questions ready on tablet'. Add cron line: '30 6 * * * /home/ethan/bin/tablet-question-inbox'. The return path already exists — note-ocr watches ~/Tablet/ for annotated PDFs and pipes through note-to-memory.
**Created `/home/ethan/bin/tablet-question-inbox`** (92 lines, executable)
- Pulls candidates from the last 24h of `~/Tablet/.socratic/*.json` (harvester commit subjects → framed as Socratic questions) and `~/Tablet/Inbox/resurfaced-*.pdf` (resurfacer's pulled prompts).
- Dedupes by question text, caps 2-per-source for diversity, takes top 3 newest-first.
- Shells to `python3` + `reportlab` to render `/tmp`-equivalent → `~/Tablet/inbox/questions-YYYY-MM-DD.pdf` (also writes `questions-latest.pdf`): one Q per Letter page, 22pt Times-Roman with text-wrap, ruled lines at 0.42" spacing, header with date/index/source, italic footer reminding the OCR loop will file the answer.
- `notify-focus` on completion; triggers `tablet-sync --once` to push to `tablet-sync.braceyourself.solutions`.
- Empty-day path: logs and exits 0 (no PDF, no notification spam).
- Overridable via `TQI_TABLET`/`TQI_TODAY` env vars for testing.
**Cron installed** (`crontab -l`):
```
30 6 * * * PATH=... /home/ethan/bin/tablet-question-inbox >> ~/.claude/cache/tablet-question-inbox.cron.log 2>&1
```
Lands after the harvester's 35 6 sidecar emission — sidecars for *yesterday's* commits are read fresh. Actually the cron timing is 30 6 same as the harvester (35 6 sidecar). To guarantee the sidecar exists before harvest, this should be at 40 6 or later. Want me to bump it to `40 6 * * *`?
**Verified:**
- Empty-state run: silent exit, log entry written.
- Synthetic-state run: 3-page PDF generated, c