# yt-dlf — Handoff > Übergabedokument für die Fortsetzung in einer Claude-Code-Session. > Stand: 2026-08-29 — Untertitel-Dedup-Fix live an realen Dateien verifiziert > und nach Gitea gepusht (`stwaidele/yt-dlf`, main auf `a7d7d1c`). > Dauerhafte Fakten stehen in `README.md`/`INSTALL.md`; hier steht nur, was > **nicht** aus Code und Git-Historie ersichtlich ist. **🔜 NÄCHSTE SESSION:** Weiterentwicklung findet künftig auf **Gisela** statt — dort von Gitea klonen (`git clone git@gitea-:stwaidele/yt-dlf.git` bzw. Stefans eigener Zugang) und diesen Handoff als Einstieg nehmen. Kein konkreter inhaltlicher Auftrag hinterlegt. ## Offene Punkte - [ ] Deploy-Status klären — `build/` und `users.txt` liegen lokal (auf dem Mac) vor, beide gitignored; ob und wo die App produktiv läuft, ist nirgends festgehalten. Wichtig beim Umzug auf Gisela: gitignorte Dateien (`users.txt`, `build/`, `ads-*.html`-Anpassungen) kommen **nicht** über den Clone mit. ## Stolperfallen - **Git-Konten-Mix** — Bestandsprojekt: Remote `origin` zeigt direkt auf `git@gitea.101010.cloud:stwaidele/yt-dlf.git`; dieser Host-Eintrag in `~/.ssh/config` (Mac) nutzt noch den alten generischen `claude`-Key. Claude-Commits daher per Author-Override (`git -c user.name="Claude " -c user.email="@waidele.info" commit …`), Repo-Config nicht umbiegen. Push konventionsgemäß über den Modell-Alias: `git push git@gitea-fable-5:stwaidele/yt-dlf.git main` — `fable-5` hat Write-Recht am Repo (live verifiziert 29.08.). - **Rollende Auto-Captions** — YouTube-Auto-Untertitel wiederholen in jedem Cue die letzte Zeile des Vorgänger-Cues; kurze Fortsetzungen (einzelne Wörter) tragen dabei **keine** Inline-Timing-Tags. Ein Filter rein über Timing-Tags reicht deshalb nicht — der Parser verwirft stattdessen führende Wiederholungszeilen (`src/lib/subtitle.js`, `scripts/subtitle_to_markdown.py`, beide identisch halten!). ## Session 2026-08-29 — Untertitel-Dedup-Fix & Push nach Gitea (Claude Fable 5) Stefans Befund: MD-Dateien aus VTT-Untertiteln enthielten jeden Satz ~3×. Ursache waren die rollenden YouTube-Auto-Captions (Uploader-Untertitel waren nie betroffen — sie sind die bessere Quelle und werden von yt-dlp bereits bevorzugt geladen). Fix in beiden Parsern (JS + Python-CLI), dazu überspringt `src/routes/api/download/+server.js` jetzt inhaltsgleiche MD-Dateien (z.B. `en.md` ≡ `en-orig.md`). Erster Ansatz (nur getaggte Zeilen behalten) scheiterte am Randfall ungetaggter Einzelwort-Fortsetzungen → siehe Stolperfalle. Live verifiziert an realen Dateien unter `~/YouTube/*/`; alle 16 Bestands-MDs dort und in `~/Downloads/*/` mit dem CLI regeneriert. Repo erstmals seit Mai gepusht (main `6df26c1..a7d7d1c` über `gitea-fable-5`-Alias); Stefan verlagert die Weiterentwicklung auf Gisela. ## Session 2026-08-29 — Handoff angelegt (Claude Fable 5) Projekt hatte noch keine `Handoff.md`; per `/handoff init` aus README, INSTALL.md und Git-Historie erstellt. Kein Projekt-`CLAUDE.md` vorhanden. Beide bisherigen Commits (16.05.) stammen von Stefan; seither keine Änderungen im Working Tree. ## Typische Handgriffe Dev-Server, Deployment und User-Verwaltung sind vollständig in `README.md` und `INSTALL.md` dokumentiert — dort nachschlagen, hier nicht duplizieren. ## Verwandte Handoffs _keine_