Commit Graph

2871 Commits

Author SHA1 Message Date
Claudio Ortolina 82e4882aa9 Assert embedding enqueues in batch test 2026-04-11 21:43:00 +01:00
Claudio Ortolina ea6ecb2661 Assert embedding enqueues in artist info test 2026-04-11 21:43:00 +01:00
Claudio Ortolina 3da0865725 Drop Records embedding wrappers 2026-04-11 21:43:00 +01:00
Claudio Ortolina a608be7387 Move regenerate_artist_embeddings into Similarity 2026-04-11 21:43:00 +01:00
Claudio Ortolina 789ce04b87 Use MusicBrainz.get_all_releases in Records 2026-04-11 21:40:32 +01:00
Claudio Ortolina b7af9557c1 Add MusicBrainz.get_all_releases/1 2026-04-11 21:40:32 +01:00
Claudio Ortolina 755955df54 Update elixir to 1.20.0-rc.4 2026-04-10 23:12:51 +01:00
Claudio Ortolina 2422b6a243 Update dependencies
credo 1.7.17 => 1.7.18
2026-04-10 23:10:09 +01:00
Claudio Ortolina fcf5adde2f Add tests for QueryReporter 2026-04-10 11:10:12 +01:00
Claudio Ortolina 8826834549 Fix release status badge in grouped records on this day
The tooltip was using the group representative instead of the
actual record, causing all items in a group to show the same
badge regardless of their own selected_release_id.
2026-04-10 10:38:48 +01:00
Claudio Ortolina 90a0491924 Update architecture docs with QueryReporter 2026-04-10 10:31:21 +01:00
Claudio Ortolina 1c720c8394 Add query timing metadata to reporter output 2026-04-10 10:30:05 +01:00
Claudio Ortolina 27148c6507 Add dev query reporter and skill
Ecto telemetry reporter that captures executed SQL queries
to a log file with interpolated parameters and source
locations. Activated/deactivated at runtime via Tidewave
for LLM-driven query analysis workflows.
2026-04-10 10:27:12 +01:00
Claudio Ortolina b5686fa0f9 Allow creating a new page with chrome devtools 2026-04-10 09:14:27 +01:00
Claudio Ortolina eab5ec5ac1 Remove localhost URL from README (because port changes) 2026-04-10 07:49:42 +01:00
Claudio Ortolina 2c393db0f2 Add visual verification guidance to ui-framework skill 2026-04-10 07:45:22 +01:00
Claudio Ortolina 31ebfe41ed Allow use of Chrome Devtools for verification 2026-04-10 07:30:52 +01:00
Claudio Ortolina 3fb292ce35 Improve update-documentation skill
Add parallel analysis via subagents, skip-list for irrelevant
commits, format-matching guidance, and wider trigger description.
2026-04-09 16:27:49 +01:00
Claudio Ortolina f92a41241f Improve ui-framework skill with project conventions
Add project-specific UI checklist, component organization,
LiveView structure, toast patterns, and routing conventions
above the usage-rules managed section. Widen trigger description.
2026-04-09 16:24:35 +01:00
Claudio Ortolina 3e80de32b3 Improve update-dependencies skill
Adds context about dependency categories, major version bump
assessment, bulk vs selective update options, asset build
verification, and commit message conventions.
2026-04-09 16:18:16 +01:00
Claudio Ortolina eeb0763466 Deduplicate and consolidate project docs
Remove redundant sections from production-infrastructure.md that
duplicated architecture.md (Oban queues/plugins/cron, external API
integrations, SQLite extensions, scheduled maintenance). Absorb API
rate limits into architecture.md's integration table. Replace tool
versions table with pointer to mise.toml. Add two conventions from
project history: scoped test setup and single-path shared components.
2026-04-09 15:19:32 +01:00
Claudio Ortolina 67c01ab1fa Update architecture and infrastructure docs 2026-04-09 15:09:32 +01:00
Claudio Ortolina a8d6db69ec Update fine 0.1.5 to 0.1.6 2026-04-09 14:47:58 +01:00
Claudio Ortolina e2f376b423 Enable Fluxon private repo for dependabot 2026-04-09 10:43:04 +01:00
Claudio Ortolina 56b281c696 Ignore path-based NPM dependency in dependabot 2026-04-09 10:35:19 +01:00
Claudio Ortolina c048054956 Enable dependabot for Elixir and NPM packages 2026-04-09 10:28:47 +01:00
Claudio Ortolina c833149fa4 Use dependabot for docker image updates 2026-04-09 07:33:19 +01:00
Claudio Ortolina 431af98e72 Use precise litestream image version 2026-04-09 07:26:47 +01:00
Claudio Ortolina e34e06ee6f Add review and audit principles to conventions 2026-04-09 07:23:01 +01:00
Claudio Ortolina 6a60fe1860 Add benchmark for collection count functions 2026-04-09 07:05:06 +01:00
Claudio Ortolina 59937dadb8 Remove duplication around searching scrobbled tracks
Fixes #157
2026-04-09 06:57:24 +01:00
Claudio Ortolina 49d26e1fd0 Switch the release component to a form to enable recovery 2026-04-08 18:22:44 +01:00
Claudio Ortolina d406e98fce Use message index for chat DOM ids 2026-04-08 12:42:01 +01:00
Claudio Ortolina d691b1b432 Fix encoding of past messages in LLM request 2026-04-08 12:34:45 +01:00
Claudio Ortolina 91931e649c Remove experimental comment (approach works)
Closes #162
2026-04-08 06:52:31 +01:00
Claudio Ortolina 1cfd91278b Use correct api_cooldown for OpenAi.API tests 2026-04-07 10:07:48 +01:00
Claudio Ortolina 8734df127c Update dependencies
fine 0.1.4 => 0.1.5
2026-04-06 22:14:04 +01:00
Claudio Ortolina edc4e51d1d Optimize record set compaction
Closes #154
2026-04-06 18:38:56 +01:00
Claudio Ortolina 2609adbf84 Address Lumis api deprecation 2026-04-06 10:27:13 +01:00
Claudio Ortolina fcd9a17211 Update dependencies
fluxon 2.3.5 => 2.3.6
lumis 0.2.0 => 0.3.0 (minor)
mdex 0.12.0 => 0.12.1
2026-04-06 08:56:16 +01:00
Claudio Ortolina 7b5b7e68dd Harden OpenAI api layer
- Support rate limiting
- Add proper error handling (don't rely on exceptions)

Closes #147
2026-04-05 16:01:29 +01:00
Claudio Ortolina a5df68c7ad Don't suppress errors when fetching artist Last.fm data
Closes #149
2026-04-05 15:47:36 +01:00
Claudio Ortolina 501ff18733 Can copy a chat message 2026-04-05 14:35:03 +01:00
Claudio Ortolina 40ea3aaa2a Add fallback error images for scrobble activity 2026-04-05 08:35:23 +01:00
Claudio Ortolina 4be9db6417 Refactor DefaultPrompt into Chats.Prompt with build/2 2026-04-05 08:32:03 +01:00
Claudio Ortolina f9155f8c52 Try and control the chat responses style 2026-04-04 23:35:46 +01:00
Claudio Ortolina ec12be613b Extract a default prompt 2026-04-04 23:35:30 +01:00
Claudio Ortolina 86fd3134f1 Reduce repetitive LLM chat responses (#146)
Replace "always provide a link" with conditional linking and add
instructions to vary response style and avoid restating information
already covered in the conversation.

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-04 18:32:57 +01:00
Claudio Ortolina 690846021e Update architecture documentation 2026-04-04 15:07:55 +01:00
Claudio Ortolina b9be62a500 Async barcode scan batch import for 2+ new records
When barcode scan results contain at least 2 new records,
enqueue individual Oban jobs instead of importing synchronously.
Wishlisted/collected/not_found results still process synchronously.
2026-04-04 10:20:50 +01:00