soulsync/core/personalized
Broque Thomas 3f965f48cd Personalized playlists: ruff B905 — explicit strict= on zip()
CI ruff check failed on the seasonal_mix tuple-row coercion path
where a `zip(columns, row)` call lacked an explicit `strict=`.

Set `strict=False` to preserve the original intent (tolerant if
the row shape ever drifts from the column tuple). The SELECT
always returns 8 columns so the lengths match in practice; using
strict=False just avoids a future raise if a generator drift
changes that.

Live happy path stays unchanged: rows from sqlite3.Row hit the
`hasattr(r, 'keys')` branch above and never reach the zip line.
The zip branch only runs for plain-tuple rows in tests.
2026-05-15 17:57:44 -07:00
..
generators Personalized playlists: ruff B905 — explicit strict= on zip() 2026-05-15 17:57:44 -07:00
__init__.py Personalized playlists (1/N): unified storage + manager foundation 2026-05-15 16:19:01 -07:00
api.py Personalized playlists (3/N): standardized API endpoints 2026-05-15 17:15:25 -07:00
manager.py Personalized playlists (4/N): staleness post-filter (exclude_recent_days) 2026-05-15 17:18:32 -07:00
specs.py Personalized playlists (1/N): unified storage + manager foundation 2026-05-15 16:19:01 -07:00
types.py Personalized playlists (1/N): unified storage + manager foundation 2026-05-15 16:19:01 -07:00