Innovation Engine — insight

Stylus Idea Debt Ledger

August 07, 2026

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.

tablet-syncinnovation-enginecustom tools dirgit historysend-formatted-email

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=` subjects, and active project dirs; mark shipped/partial/dormant. Step 3: age dormant ideas (days since first seen) and render a card via existing send-formatted-email plus socratic-tablet-pipe so the top 5 oldest unrealized ideas land back on the NXTPAPER for stylus triage (circle = build, strike = kill; stylus-reply-router already parses marks). Step 4: systemd timer idea-debt-ledger.timer weekly Sunday 07:00, with a freshness-check companion matching the existing *-freshness-check convention. Reuses idea-realization-tracker's matcher if present rather than duplicating it.

Built & Ready
**Stylus Idea Debt Ledger — LIVE**

**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
Active Projects
russ-telegram, innovation-engine, joyos-labs-monitor, joyos-lab-staging, jekelinspections
Category
insight