Commit Graph

54 Commits

Author SHA1 Message Date
Claudio Ortolina 904f540031 ML-163: implementation 2026-05-04 13:25:08 +01:00
Claudio Ortolina 51bd24d5b4 ML-162: enable /api/v1/errors endpoint 2026-05-04 13:14:40 +01:00
Claudio Ortolina 213ca31a42 Fix parent task IDs 2026-05-04 11:04:47 +01:00
Claudio Ortolina 2bf943a206 ML-163: plan 2026-05-04 10:33:08 +01:00
Claudio Ortolina 85275cb88b Ml-162: plan 2026-05-04 10:13:09 +01:00
Claudio Ortolina 3d7e076906 Streamline backlog task tags 2026-05-04 09:20:11 +01:00
Claudio Ortolina 50b9023707 ML-161 (and subtasks): research and plan 2026-05-04 09:17:16 +01:00
Claudio Ortolina 218ddca62d ML-160: enable llm access to production logs 2026-05-04 08:36:00 +01:00
Claudio Ortolina 3f2f03849a ML-160: research and plan 2026-05-04 07:52:29 +01:00
Claudio Ortolina 51390974a8 ML-159: add cursor and visual mode to log browser 2026-05-03 22:34:50 +01:00
Claudio Ortolina 3512f812ba ML-159: plan review 2026-05-03 22:21:48 +01:00
Claudio Ortolina cb07e70d36 ML-159: research and plan 2026-05-03 22:14:49 +01:00
Claudio Ortolina 5981970039 ML-157: implementation and configuration 2026-05-03 16:33:23 +01:00
Claudio Ortolina a6ef5996ed Backlog cleanup 2026-05-03 15:40:20 +01:00
Claudio Ortolina b7666168dc ML-158: plan review 2026-05-03 15:39:19 +01:00
Claudio Ortolina 29bedcd028 ML-158: task research and plan 2026-05-03 15:28:02 +01:00
Claudio Ortolina 9fda537bf9 ML-157: iterate on plan 2026-05-03 14:59:14 +01:00
Claudio Ortolina a8eb4fe0b5 ML-157: task research and plan 2026-05-03 14:45:22 +01:00
Claudio Ortolina b396dbe037 ML-156: plan revisions 2026-05-02 19:14:25 +01:00
Claudio Ortolina dac946bbd6 ML-156: initial research 2026-05-02 17:17:11 +01:00
Claudio Ortolina ed67f97271 Move done -> completed 2026-05-01 15:29:33 +01:00
Claudio Ortolina 3b558044b4 refactor: extract Records sub-contexts (Search, Import, Enrichment)
Split the 450+ line Records context into focused modules:

- Records.Search — FTS5 search, SearchParser integration, genre listing
- Records.Import — MusicBrainz release/group import, release status
- Records.Enrichment — genre population, cover refresh, color extraction,
  MusicBrainz data refresh
- Records.Query — shared helpers (essential_fields, order_alphabetically macro)

Records module is now a facade with defdelegate for compile-time safety.
CRUD and PubSub stay directly in Records. Tests moved alongside each
sub-module. Zero callers changed, 886 tests pass.
2026-04-30 17:20:37 +01:00
Claudio Ortolina 08fcd70a8c ML-154: add early platform detection for SQLite extensions 2026-04-30 13:39:39 +01:00
Claudio Ortolina 13068aa0ac ML-153: move MusicBrainz data transforms from Record 2026-04-30 13:21:18 +01:00
Claudio Ortolina b8b3b24ffa ML-151: document Assets.Cache TTL and invalidation strategy
Expand @moduledoc with cache key structure, 7-day TTL via
@one_week_seconds, periodic pruning by PruneAssetCache (every 12h),
and rationale for TTL-only invalidation (content-addressable immutable
assets). Update architecture.md entry accordingly.
2026-04-30 13:07:06 +01:00
Claudio Ortolina c489fde1cc ML-152: add /api/v1/ version prefix to all API routes 2026-04-30 11:57:43 +01:00
Claudio Ortolina 70d5f3bf61 Backlog grooming session 2026-04-30 11:50:07 +01:00
Claudio Ortolina f8a52993c1 ML-149: Fix selected bar not showing track data in Safari 2026-04-30 07:21:25 +01:00
Claudio Ortolina 597cc89821 ML-147: Upgrade to ServerSentEvents 1.0.0 2026-04-27 22:02:45 +01:00
Claudio Ortolina 839277de94 Done cleanup 2026-04-25 22:27:58 +01:00
Claudio Ortolina 242549b85a ML-147: Upgrade to ServerSentEvents 1.0 2026-04-25 22:26:34 +01:00
Claudio Ortolina 9113df5879 ML-146: honour API retry headers 2026-04-25 07:39:49 +01:00
Claudio Ortolina a1c665b490 ML-21: Classify API errors as transient vs permanent 2026-04-24 14:02:15 +01:00
Claudio Ortolina be4f4686f8 ML-146: Honour rate-limit headers for precise snoozing 2026-04-24 12:13:56 +01:00
Claudio Ortolina b9bc96b9a4 ML-21: reframe for correctness 2026-04-24 12:13:33 +01:00
Claudio Ortolina 2e38412a84 ML-10: break compile cycle via Artists → Collection edge 2026-04-24 10:49:47 +01:00
Claudio Ortolina 252caf31ce ML-11: Improve performance of Telemetry.Storage with in-memory buffer 2026-04-24 10:30:28 +01:00
Claudio Ortolina 2a688e2309 Cleanup old tasks 2026-04-24 09:58:09 +01:00
Claudio Ortolina 3852340479 ML-13: Tighten ecto_sqlite3 dep constraints 2026-04-24 09:54:05 +01:00
Claudio Ortolina 815b34c024 ML-9: add mix_audit for CVE scanning (warn-only) 2026-04-24 08:13:42 +01:00
Claudio Ortolina 90db113845 ML-5: document Last.fm OAuth callback trust boundary
Closes GitHub issue #178.
2026-04-24 08:05:07 +01:00
Claudio Ortolina 38b53592c5 ML-1: archive as not needed 2026-04-24 07:59:49 +01:00
Claudio Ortolina 7ad09736cf ML-144: enrich issue description and add done requirements 2026-04-24 07:52:22 +01:00
Claudio Ortolina 43297ecfde ML-145: done
Archives ML-142.1 as a consequence
2026-04-23 15:16:17 +01:00
Claudio Ortolina e1fe51972c ML-145: Restructure /scrobble routes; reuse Release component on scrobble page 2026-04-23 07:12:19 +01:00
Claudio Ortolina 1b782d910b ML-142.1: capture task 2026-04-22 17:31:23 +01:00
Claudio Ortolina 0776700170 ML-142: Improve scrobble UI in the release component
- Sticky bar for easier track-based scrobbling
- Support setting custom finish time
2026-04-22 17:19:35 +01:00
Claudio Ortolina 70b51b3790 ML-142: Accepted mockup and plan 2026-04-22 16:45:52 +01:00
Claudio Ortolina af6fed8bb7 ML-144: capture task 2026-04-22 16:41:34 +01:00
Claudio Ortolina 7ad094d537 Complete ML-143 2026-04-20 15:15:29 +01:00