Architecture
┌─────────────────────────────────────────────────────────┐
│ Pi4 Agent (cron or webhook-triggered) │
│ │
│ Loop: │
│ 1. Check seedbank for new/changed docs │
│ 2. If new docs exist: │
│ a. Render markdown → TXT/EPUB for KOReader │
│ b. Open telnet to Kindle │
│ c. Poll: is device awake? is KOReader running? │
│ d. Push new docs via netcat │
│ e. Trigger KOReader to open latest │
│ 3. Log: what was pushed, when, read status │
│ │
└─────────────────────┬───────────────────────────────────┘
│ telnet (local network)
▼
┌─────────────────────────────────────────────────────────┐
│ Kindle PW5 (jailbroken, SpringBreak) │
│ │
│ telnetd running (scriptlet: Start telnet) │
│ KOReader installed (scriptlet: KOReader Installer) │
│ Ads disabled (scriptlet: Disable ADs) │
│ OTA permanently blocked (KUAL: renameotabin) │
│ KOReader launcher (scriptlet, asap mode) │
└─────────────────────────────────────────────────────────┘