- tasks/v5.0.0-goal.md: 7-Pillar Vision, Breaking Changes, Release-Phasen - tasks/v5.0.0-roadmap.md: Reality-Check vs Goal, 11-Plan Execution-Order - tasks/v5.0.0-plan-01-foundation.md: Vitest + 5 Pure-Module-Extraktionen Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
85 lines
4.0 KiB
Markdown
85 lines
4.0 KiB
Markdown
# v5.0.0 Roadmap (Reality-Aligned)
|
|
|
|
**Baseline:** v4.6.155
|
|
**Spec:** `tasks/v5.0.0-goal.md`
|
|
**Last verified:** 2026-05-11
|
|
|
|
---
|
|
|
|
## Reality Check vs. Goal
|
|
|
|
Beim Vergleich der echten Codebase (`src/main.ts` 7485 LoC mit 30+ Sektionen) gegen die Goal-Annahmen zeigt sich: einige "neu zu bauenden" Features existieren teilweise schon.
|
|
|
|
| Pillar | Goal sagt | Reality | Restarbeit % |
|
|
|---|---|---|---|
|
|
| P1 — Live Stream Recording | "neu" | Auto-Record-Poller, Live-Recording-Events-Log, Live-Chat-Capture existieren | ~30% (Polish + Sub-only-Pfad nach OAuth) |
|
|
| P2 — Twitch OAuth | "neu" | App nutzt nur public Web-Client-ID, keine User-Auth | 100% |
|
|
| P3 — SQLite-Migration | "Breaking" | Config + Queue + Stats sind JSON-Files | 100% |
|
|
| P4 — main.ts Split | "neu" | 7485 LoC Monolith, 30 Sektionen, schon klar getrennt | 100% (mechanische Arbeit) |
|
|
| P5 — UI Power-Features | "neu" | Vanilla DOM, keine Virtualisierung, kein Mini-Player, ein Theme | 90% |
|
|
| P6 — Smart-Resume | "neu" | `auto_resume_live_recording` Flag existiert, `auto_merge_resumed_parts`, Crash-Recovery rudimentaer | ~60% (Chunk-Hash + Integrity-Check fehlen) |
|
|
| P7 — Scheduled/Auto-Discovery | "neu" | Auto-VOD-Download-Poller + Live-Status-Batch-Poller schon implementiert | ~30% (Top-Clip-Crawler, Follow-Sync fehlen) |
|
|
|
|
**Konsequenz:** Reihenfolge der Plane orientiert sich am Restarbeits-Volumen und Dependencies.
|
|
|
|
---
|
|
|
|
## Execution Order
|
|
|
|
```
|
|
Plan 01: Foundation — Vitest + Pure-Utility-Extraction [START HIER]
|
|
└─> Plan 02: Domain Modules (twitch-api, config, queue split)
|
|
└─> Plan 03: Domain Modules (download, record, cutter, stats)
|
|
└─> Plan 04: Final main.ts Split (ipc + index.ts + delete old main.ts)
|
|
└─> Plan 05: SQLite Migration (P3)
|
|
└─> Plan 06: OAuth (P2)
|
|
├─> Plan 07: Live-Recording Polish + Sub-only (P1)
|
|
├─> Plan 08: Auto-Discovery Erweiterung (P7)
|
|
└─> Plan 09: UI Power-Features (P5)
|
|
└─> Plan 10: Smart-Resume Finalisierung (P6)
|
|
└─> Plan 11: v5.0.0-rc.1 → GA
|
|
```
|
|
|
|
Plan 01-04 = Pillar 4 (Architektur-Split, monolithische Aufgabe in 4 Teile gesplittet).
|
|
Plan 05 = Pillar 3.
|
|
Plan 06 = Pillar 2.
|
|
Plan 07-09 = Pillars 1, 7, 5 parallelisierbar (verschiedene Subsysteme).
|
|
Plan 10 = Pillar 6.
|
|
Plan 11 = Release-Phase.
|
|
|
|
---
|
|
|
|
## Plan Status
|
|
|
|
| # | Plan | Datei | Status |
|
|
|---|---|---|---|
|
|
| 01 | Foundation: Vitest + Pure-Utility-Extraction | `tasks/v5.0.0-plan-01-foundation.md` | bereit, wird ausgefuehrt |
|
|
| 02 | Domain Split Pt. 1 | `tasks/v5.0.0-plan-02-domain-pt1.md` | erstellt nach Plan 01 |
|
|
| 03 | Domain Split Pt. 2 | `tasks/v5.0.0-plan-03-domain-pt2.md` | nach Plan 02 |
|
|
| 04 | Final Architektur-Split | `tasks/v5.0.0-plan-04-final-split.md` | nach Plan 03 |
|
|
| 05 | SQLite-Migration | `tasks/v5.0.0-plan-05-sqlite.md` | nach Plan 04 |
|
|
| 06 | OAuth | `tasks/v5.0.0-plan-06-oauth.md` | nach Plan 05 |
|
|
| 07 | Live-Rec Polish + Sub-only | `tasks/v5.0.0-plan-07-live-rec.md` | nach Plan 06 |
|
|
| 08 | Auto-Discovery Erweiterung | `tasks/v5.0.0-plan-08-auto-disc.md` | nach Plan 06 |
|
|
| 09 | UI Power | `tasks/v5.0.0-plan-09-ui-power.md` | nach Plan 06 |
|
|
| 10 | Smart-Resume Final | `tasks/v5.0.0-plan-10-smart-resume.md` | nach Plan 09 |
|
|
| 11 | Release 5.0.0 GA | `tasks/v5.0.0-plan-11-release.md` | nach Plan 10 |
|
|
|
|
---
|
|
|
|
## Versionsstrategie
|
|
|
|
| Plan abgeschlossen | Version |
|
|
|---|---|
|
|
| Plan 01 | 5.0.0-alpha.0 (Foundation, opt-in via `next` channel) |
|
|
| Plan 02 | 5.0.0-alpha.1 |
|
|
| Plan 03 | 5.0.0-alpha.2 |
|
|
| Plan 04 | 5.0.0-alpha.3 |
|
|
| Plan 05 | 5.0.0-beta.0 (SQLite Migrator live, Breaking) |
|
|
| Plan 06 | 5.0.0-beta.1 (OAuth live) |
|
|
| Plan 07 + 08 + 09 | 5.0.0-beta.2, .3, .4 |
|
|
| Plan 10 | 5.0.0-rc.1 |
|
|
| Plan 11 | 5.0.0 (stable) |
|
|
|
|
Pro Plan: ein Release-Tag, Auto-Updater Channel `next`. 4.6-User bleiben auf `stable` und kriegen nur Bugfix-Patches der 4.6 Linie (sofern bestellt).
|