Commit Graph

179 Commits

Author SHA1 Message Date
Jonathan 91ea32c4b8 feat: add web AES-256-GCM secret crypto and LYRA_SECRET_KEY plumbing 2026-07-10 19:50:16 +02:00
Jonathan 45cf9e8527 feat: add Config schema 2026-07-10 19:46:17 +02:00
Jonathan 349f699bb6 docs: add configuration & secrets plan (slice 1, plan 3a)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 19:45:08 +02:00
Jonathan d3bec2ee10 refactor: make adapter .tier the single source of truth for ranking
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 19:07:58 +02:00
Jonathan fbd6a056a4 feat: wire adapter registry into worker loop 2026-07-10 18:59:28 +02:00
Jonathan 7c28eddd47 fix: persist all found candidates and guard duplicate adapter names
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 18:54:15 +02:00
Jonathan 71c7945da2 feat: replace fake pipeline with staged adapter-driven pipeline
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 18:45:01 +02:00
Jonathan 60f3cd0df9 feat: add Candidate and LibraryItem schema
Adds Candidate (per-job download candidates found by the pipeline)
and LibraryItem (per-request imported album, deduped on
artist+album) tables. LibraryItem.requestId is @unique since
Request.libraryItem is a one-to-one back-relation (required for
Prisma validation, matching the existing Job.requestId pattern).
2026-07-10 18:40:41 +02:00
Jonathan 991365e746 feat: add SourceAdapter contract and fake adapters 2026-07-10 18:35:52 +02:00
Jonathan ffc4d1f483 feat: add candidate ranker with confidence gate 2026-07-10 18:31:09 +02:00
Jonathan 3888d2ab8a feat: add confidence scoring 2026-07-10 18:26:52 +02:00
Jonathan 1c013dfdd1 feat: add domain types and quality ranking 2026-07-10 18:22:47 +02:00
Jonathan b62b4145da docs: add pipeline-core implementation plan (slice 1, plan 2)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 18:19:06 +02:00
Jonathan 3459233fde chore: map web to host port 8770 to avoid Quill on 3000
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 18:12:50 +02:00
Jonathan 7532e20d1e fix: worker waits for schema before claiming; npm ci for reproducible builds
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 17:32:20 +02:00
Jonathan 52a0999f9b chore: add restart policies and document prisma copy step
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 17:22:36 +02:00
Jonathan 3e44de093e feat: add worker loop and production Dockerfiles 2026-07-10 17:16:24 +02:00
Jonathan d441d0561f feat: add fake acquisition pipeline 2026-07-10 17:04:41 +02:00
Jonathan fc1229b885 test: clean worker test DB before each test to prevent flakiness
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 17:02:38 +02:00
Jonathan 49b69c592d feat: add worker job-claim logic 2026-07-10 16:58:28 +02:00
Jonathan 8085ed719f feat: add request form and live queue UI 2026-07-10 16:53:07 +02:00
Jonathan fd9969ae17 test: cover 400 validation branches in request API
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 16:51:24 +02:00
Jonathan 15bb68bc49 feat: add request create/list API 2026-07-10 16:47:54 +02:00
Jonathan ab4db641b0 feat: add Request and Job schema with migration
Adds the Prisma schema (Request/Job models, RequestStatus/JobState
enums), a Prisma client singleton at web/src/lib/db.ts, and the
init_request_job migration, applied and verified against Postgres.

Also publishes the db service's port (5432:5432) in docker-compose.yml
so host-run Prisma commands can reach localhost:5432 for local dev.
2026-07-10 16:43:22 +02:00
Jonathan 80e01b1c52 fix: bump next past known CVEs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 16:39:57 +02:00
Jonathan 599cc76404 chore: scaffold web, worker, and compose stack
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-10 16:33:22 +02:00
Jonathan d939f83ce3 chore: relax worker dep pins for local Python 3.14
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 16:28:34 +02:00
Jonathan dcdb9752a2 Add walking-skeleton implementation plan (slice 1, plan 1)
Seven TDD tasks: monorepo + compose scaffold, Prisma Request/Job
schema, request API, live queue UI, worker claim logic, fake
pipeline, and worker loop + Dockerfiles with end-to-end verification.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 16:23:45 +02:00
Jonathan 3adefe929b Add Lyra acquisition-engine design spec, README, gitignore
Initial design for slice 1 (acquisition engine): three-container
architecture (Next.js UI, Python worker, slskd), the six-stage
pipeline, source-adapter contract, data model, error handling, and
testing strategy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 16:14:55 +02:00