# Codex-Prompt — Durchstich Kopiervorlage für Codex. Erst `Codex-Briefing.md` + `Projektbeschreibung.md` lesen, dann NUR den Durchstich bauen (nicht mehr). --- Baue den **Durchstich** des Mail-Graveyard (Go-Single-Binary, Hausstil steht als Stub-Gerüst). Ziel: **ein Konto, nur den Posteingang, sauber und wiederholbar umziehen.** Lies zuerst `Codex-Briefing.md` und `Projektbeschreibung.md`; die 6 harten Regeln sind bindend. Umfang des Durchstichs: 1. `02-database.go`: SQLite-Schema anlegen (accounts, folder_map, copied, jobs), plus `GetAccount`, `ListAccounts`, `SaveAccount`, `AlreadyCopied`, `MarkCopied`. 2. `04-imap-source.go`: `OpenIMAPSource` für IMAP mit allen drei Security-Modi (`tls`/`starttls`/`none`) und `SrcInsecure`. `Folders()` (mit SPECIAL-USE + Delim) und `Fetch("INBOX")` (`UID FETCH BODY[] FLAGS INTERNALDATE`, streamend). 3. `05-imap-target.go`: `OpenIMAPTarget` (gleiche Security-Logik), `Folders()`, `Delim()`, `EnsureFolder`, `Append` mit Flags + INTERNALDATE. 4. `06-mbox.go`: `MboxWriter` + `Append` (korrektes "From "-Trennen, >From-Quoting). 5. `07-migrate.go`: `migrateAccount` für nur "INBOX": pro Mail Message-ID gegen `copied` prüfen; sonst `Append` (IMAP) **und** mbox schreiben, dann `MarkCopied`. `RunMigration(name, false)` ruft es für ein Konto auf. 6. `main.go --run ` muss durchlaufen. Bewusst NOCH NICHT: Web-CRUD, Viewer, Weiterleiten, alle Ordner rekursiv, Rollen-Mapping (11-folders.go), `--watch`, POP3. Nur INBOX, nur CLI. **Abnahme:** Konto per SQL/Seed eintragen (Klartext-IMAP-Quelle testen!), `./mail-graveyard --run test` zweimal laufen lassen → beim zweiten Mal werden 0 Mails kopiert (Idempotenz), Ziel-INBOX und lokale mbox enthalten dieselben Mails mit erhaltenen Flags und Original-Datum.