Ethan's tablet notes and Socratic reflections generate ideas faster than they get built, and there's no single place tracking which handwritten sparks actually became tools. This scans ~/Tablet/ notes plus the innovation-engine idea log, matches each idea against ~/.claude/tools/ and recent commits to see if it shipped, and emails a weekly 'idea debt' card showing what's still unrealized and how long it's been waiting.
Create ~/.claude/tools/idea-debt-ledger (bash+python). Step 1: collect candidate ideas from ~/Tablet/notes/*.md (stylus OCR output) and the innovation-engine proposal JSON store, extracting title + first-seen date into ~/.claude/state/idea-debt.json. Step 2: for each idea, compute a realization signal — fuzzy-match slugified title against `ls ~/.claude/tools/`, `git -C ~/.claude log --oneline --since=
**Created**
- `~/bin/idea-debt-ledger` (100 lines, executable) — scans `~/Tablet/**/*.md` for `Idea: ...` lines plus the innovation-engine `state.json` history, dedupes to earliest sighting, classifies each as shipped/partial/dormant, ages the rest, writes `~/.claude/state/idea-debt.json`, drops a stylus triage sheet in `~/Tablet/idea-debt/`, emails the card via `send-formatted-email admin`.
- `~/bin/idea-debt-ledger-freshness-check` — alarms on the OUTPUT's age (missing / malformed / >9d), not on timer state.
- Tests: `idea-debt-ledger.test.sh` (10 assertions), `idea-debt-ledger-freshness-check.test.sh` (4, incl. sabotage cases). Both green; both were RED first.
- Timers, enabled and scheduled: `idea-debt-ledger.timer` (Sun 07:00, next Aug 9) and `idea-debt-ledger-freshness-check.timer` (daily 09:30).
**Verified on real data** — 0.9s run: 51 shipped, 33 partial, 14 dormant across 98 captured ideas. Oldest unrealized: "Client Lead Speed Alert," 145 days waiting. Triage sheet written with the circle/strike legend `stylus-reply-router` parses. Freshness check logged `ok`.
**Design call worth knowing:** matching is deterministic token overlap (≥2 words shared with a tool name or a commit subject since first-seen), not `idea-realization-tracker`'s Gemma matcher — sub-second and offline instead of ~2min of LLM calls. A single shared word like "ledger" is treated as coincidence, not evidence.
**Not exercised:** the actual email send. It's an o