docs: update roadmap, tasks, and backlog for v2.3.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-22 12:10:28 +01:00
parent f72f55148b
commit 6d6b957557
3 changed files with 48 additions and 1 deletions

View File

@@ -159,3 +159,22 @@
- [ ] Slack adapter via Socket Mode WebSocket
- [ ] Mattermost adapter via WebSocket API
- [ ] Bluesky adapter via AT Protocol firehose + REST API
## v2.3.0 -- Mumble Voice + Multi-Bot (done)
- [x] pymumble transport rewrite (voice + text)
- [x] Music playback: play/stop/skip/prev/queue/np/volume/seek/resume
- [x] Voice ducking (auto-lower music on voice activity)
- [x] Kept track library with metadata (!keep, !kept, !play #N)
- [x] Smooth fade-out on skip/stop/prev, fade-in on resume
- [x] In-stream seek with pipeline swap (no task cancellation)
- [x] Multi-bot Mumble: extra bots via `[[mumble.extra]]`
- [x] Per-bot plugin filtering (only_plugins / except_plugins)
- [x] Voice STT (Whisper) + TTS (Piper) plugin
- [x] Configurable voice profiles (voice, FX, piper params)
- [x] Rubberband pitch-shifting via CLI (Alpine ffmpeg lacks librubberband)
- [x] Bot audio ignored in sound callback (no self-ducking, no STT of bots)
- [x] Self-mute support (mute on connect, unmute for audio, re-mute after)
- [x] Autoplay shuffled kept tracks on reconnect (silence detection)
- [x] Alias plugin (!alias add/del/list)
- [x] Container management tools (tools/build, start, stop, restart, nuke, logs, status)

View File

@@ -1,6 +1,23 @@
# derp - Tasks
## Current Sprint -- v2.3.0 Mumble Music Playback (2026-02-21)
## Current Sprint -- v2.3.0 Mumble Voice + Multi-Bot (2026-02-22)
| Pri | Status | Task |
|-----|--------|------|
| P0 | [x] | `src/derp/mumble.py` -- rewrite to pymumble transport (voice + text) |
| P0 | [x] | `plugins/music.py` -- play/stop/skip/queue/np/volume/seek/resume |
| P0 | [x] | `plugins/voice.py` -- STT (Whisper) + TTS (Piper), voice profiles |
| P0 | [x] | Container patches for pymumble ssl + opuslib musl |
| P0 | [x] | Multi-bot Mumble (`[[mumble.extra]]`), per-bot plugin filtering |
| P0 | [x] | Rubberband pitch-shifting via CLI (Containerfile + FX chain split) |
| P0 | [x] | Bot audio ignored in sound callback (no self-ducking/STT of bots) |
| P0 | [x] | Self-mute support (mute on join, unmute for audio, re-mute after) |
| P1 | [x] | `plugins/alias.py` -- command aliases (add/del/list) |
| P1 | [x] | Container management tools (`tools/build,start,stop,restart,nuke,logs,status`) |
| P1 | [x] | Tests: `test_mumble.py`, `test_music.py`, `test_alias.py`, `test_core.py` |
| P2 | [x] | Documentation update (USAGE.md, CHEATSHEET.md, ROADMAP.md) |
## Previous Sprint -- v2.3.0 Mumble Music Playback (2026-02-21)
| Pri | Status | Task |
|-----|--------|------|
@@ -242,6 +259,8 @@
| Date | Task |
|------|------|
| 2026-02-22 | v2.3.0 (voice profiles, rubberband FX, multi-bot, self-mute, container tools) |
| 2026-02-21 | v2.3.0 (pymumble rewrite, music playback, fades, seek, kept library) |
| 2026-02-17 | v1.2.3 (paste overflow with FlaskPaste integration) |
| 2026-02-17 | v1.2.1 (HTTP opener cache, alert perf, concurrent multi-instance, tracemalloc) |
| 2026-02-16 | v1.2.0 (subscriptions, alerts, proxy, reminders) |

View File

@@ -137,6 +137,15 @@ is preserved in git history for reference.
- [x] Text chat only (no voice)
- [x] Channel-based messaging
- [x] Minimal protobuf encoder/decoder (no protobuf dep)
- [x] pymumble transport rewrite (voice + text)
- [x] Music playback (yt-dlp + ffmpeg + Opus)
- [x] Voice STT/TTS (Whisper + Piper)
- [x] Multi-bot with per-bot plugin filtering
- [x] Configurable voice profiles (voice, FX chain)
- [x] Self-mute support (auto mute/unmute around audio)
- [x] Bot audio isolation (ignore own bots in sound callback)
- [ ] Per-channel voice settings (different voice per channel)
- [ ] Voice activity log (who spoke, duration, transcript)
## Slack