Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Roadmap — Lucky

_Auto-regenerated 2026-04-15 from `docs/specs/`._

## Now (active)

_(none)_

## Next (proposed)

- **2026-04-15-autoplay-diversity** _(proposed)_ `autoplay,music,quality`

## Recently shipped

- **2026-04-15-internal-notify-endpoint** _(shipped)_ `rag,backend,homelab` → PR: https://github.com/LucasSantana-Dev/Lucky/pull/625
20 changes: 20 additions & 0 deletions docs/specs/2026-04-15-autoplay-diversity/spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
status: proposed
created: 2026-04-15
owner: lucassantana
pr:
tags: autoplay,music,quality
---

# autoplay-diversity

## Goal
When Lucky auto-queues songs after the user's queue empties, results must feel curated — no repeated artists and no single-cluster collapse.

## Approach
Multi-objective ranking with diversity regularization: similarity to seed, penalty for artist within window, penalty for same album, boost on audio-feature match.

## Verification
- Golden dataset: 20 seed tracks.
- Offline eval harness.
- Soak in production for one week before default flip.
8 changes: 8 additions & 0 deletions docs/specs/2026-04-15-autoplay-diversity/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Tasks

- [ ] Artist-dedup penalty
- [ ] Album-dedup penalty
- [ ] Golden dataset (20 seeds)
- [ ] Offline eval harness
- [ ] Prod flag + soak
- [ ] Default flip after soak passes
23 changes: 23 additions & 0 deletions docs/specs/archived/2026-04-15-internal-notify-endpoint/spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
status: shipped
created: 2026-04-15
shipped: 2026-04-15
owner: lucassantana
pr: https://github.com/LucasSantana-Dev/Lucky/pull/625
tags: rag,backend,homelab
---

# internal-notify-endpoint

## Goal
Replace brittle per-channel Discord webhooks with a bot-token-backed REST proxy so homelab alerts keep flowing even when a channel webhook is rotated or deleted.

## Context
Four homelab webhooks went 404 silently for weeks before detection. Lucky bot already holds a valid token; proxying through it lets the bot identity carry the messages.

## Approach
New `POST /api/internal/notify` on lucky-backend. Header auth via `X-Notify-Key` (shared secret in env). Body `{channelId, content|embeds}`. Calls Discord REST v10 directly with Bot token. 204 on success.

## Verification
- Supertest unit coverage: 7 cases.
- Smoke via homelab-watchdog send_discord posting to this endpoint.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Tasks

- [x] Draft route + frontmatter
- [x] Wire setupInternalNotifyRoutes
- [x] Supertest coverage
- [x] docker-compose env pass-through
- [x] Land PR + rebuild backend on homelab
- [x] Swap homelab-watchdog to POST here
Loading