Skip to content

feat: initial Symphonia implementation foundation - #1

Open
efraespada wants to merge 146 commits into
masterfrom
develop
Open

efraespada wants to merge 146 commits into
masterfrom
develop

Conversation

@efraespada

@efraespada efraespada commented Sep 20, 2026 •

Copy link
Copy Markdown
Member

Resumen

Esta PR lleva a master la primera implementación funcional de Symphonia como servicio/App self-hosted:

  • Base de dominio provider-independent para snapshots, identidad, planes de copy y políticas.
  • Persistencia SQLite para operaciones durables, leases, checkpoints, cancelación, diagnósticos redacted, conexiones, autorización, planes y proyecciones.
  • Worker cooperativo y ejecución durable de imports y copias con reintentos acotados, rate limits y estados de reconciliación.
  • Adaptadores oficiales normalizados para Spotify, YouTube Data API (video playlists) y Apple Music (lectura experimental de library playlists).
  • Gating explícito de capacidades de escritura Spotify.
  • Preservación de namespaces, object types, títulos y fechas de origen en snapshots/plans.
  • Scaffold experimental de Home Assistant App con Ingress, /data, usuario no-root y rutas relativas a Ingress.
  • Normalización determinista Unicode/ISRC para preparar resolución de identidad sin introducir matching automático prematuro.
  • SDDs, ADRs, investigación de proveedores y baseline de implementación.

Verificación

  • PYTHONPATH=src python3 -m unittest discover -s tests -q
  • 113 tests OK.
  • python3 -m compileall -q src tests
  • git diff --check
  • docker build -t symphonia:dev .
  • Smoke Docker: /ready responde {"service":"symphonia","status":"ready"}; imagen no-root con volumen /data.

Fuera de esta PR / limitaciones conocidas

  • OAuth real, secret store cifrado y API/UI autenticada todavía requieren cerrar sus SDDs.
  • El soporte de YouTube implementado es YouTube Data API para vídeo, no YouTube Music.
  • Apple Music permanece experimental y read-only.
  • No se declara todavía una imagen publicada ni compatibilidad estable de Home Assistant.
  • La sincronización persistente sigue fuera de alcance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant