Commit Graph
17 Commits
Author SHA1 Message Date
Miguel Palhas 23f06d429f feat(daemon): grab pipeline for wanted movies
ci / web (pull_request) Successful in 41s
ci / rust (pull_request) Successful in 2m21s
e2e / e2e (pull_request) Successful in 2m22s
Closes the "wanted movie, no file" gap: search every indexer, cache each
candidate with its verdict and score, send the best eligible one to
Transmission with its label and both seeding limits, and record the Grab.

Restarting mid-flight cannot double-grab. A title with a live grab is not
a gap, selection is a total order over the candidate set, and the add is
keyed on the infohash, so a crash between the add and the insert heals on
the next tick instead of leaving a second torrent.

The policy row to arr-core mapping moves into arr-db, where both the
manual-search API and the daemon read it, instead of being copied.
2026-08-22 22:15:05 +01:00
naps62-yolo e9c055675b test(e2e): cross-process harness over the §12 seams (#66)
ci / rust (push) Failing after 1m36s
ci / web (push) Successful in 26s
e2e / e2e (push) Failing after 59s
2026-08-22 21:26:16 +01:00
naps62-yolo de2a13060c Search API with classified releases (#65)
ci / rust (push) Failing after 1m1s
ci / web (push) Successful in 49s
e2e / e2e (push) Successful in 1m15s
2026-08-22 21:22:12 +01:00
naps62-yolo 514628f089 feat(web): SPA skeleton embedded in the binary (#60)
ci / web (push) Successful in 33s
ci / rust (push) Successful in 57s
e2e / e2e (push) Successful in 1m7s
2026-08-22 21:07:40 +01:00
naps62-yolo 94c334ffe9 Radarr v3 shim for Jellyseerr (#62)
ci / web (push) Successful in 12s
ci / rust (push) Successful in 1m44s
e2e / e2e (push) Successful in 1m21s
2026-08-22 21:00:35 +01:00
naps62-yolo a0c2717549 Add per-indexer Torznab search client (#58)
ci / web (push) Successful in 9s
ci / rust (push) Successful in 1m37s
e2e / e2e (push) Successful in 1m32s
2026-08-22 20:56:31 +01:00
naps62-yolo 1cb7f1b2fa feat(probe): ffprobe wrapper (#59)
ci / rust (push) Successful in 1m20s
ci / web (push) Successful in 7s
e2e / e2e (push) Successful in 1m28s
2026-08-22 20:52:09 +01:00
naps62-yolo 99ac79373d feat(api): add movie CRUD API (#56)
ci / web (push) Successful in 8s
e2e / e2e (push) Successful in 1m21s
ci / rust (push) Successful in 3m53s
2026-08-22 20:40:31 +01:00
naps62-yolo 6a8051c70f Transmission RPC client (#52)
ci / web (push) Successful in 7s
ci / rust (push) Successful in 1m22s
e2e / e2e (push) Successful in 2m21s
2026-08-22 20:22:23 +01:00
naps62-yolo e02a9aa813 feat(indexer): enumerate Prowlarr caps (#51)
ci / rust (push) Successful in 1m3s
ci / web (push) Successful in 8s
e2e / e2e (push) Successful in 48s
2026-08-22 20:18:37 +01:00
naps62-yolo 45cd30ae69 Policy filter and verdict pipeline (#54)
ci / web (push) Successful in 5s
ci / rust (push) Failing after 12s
e2e / e2e (push) Successful in 1m5s
2026-08-22 20:18:28 +01:00
naps62-yolo 58827da647 feat(api): axum skeleton with health and OpenAPI (#53)
ci / web (push) Successful in 6s
ci / rust (push) Successful in 45s
e2e / e2e (push) Successful in 1m31s
2026-08-22 20:09:52 +01:00
naps62-yolo 03ca4a26e8 feat(meta): TMDB search and movie lookup (#49)
ci / rust (push) Successful in 1m26s
ci / web (push) Successful in 12s
e2e / e2e (push) Successful in 1m0s
2026-08-22 19:52:57 +01:00
naps62-yolo 3e57cf5bf8 Release name parser (#50)
ci / web (push) Successful in 19s
ci / rust (push) Successful in 56s
e2e / e2e (push) Successful in 1m21s
2026-08-22 19:49:05 +01:00
naps62-yolo 1529e9fdca Bootstrap configuration loading (#46)
ci / web (push) Successful in 14s
ci / rust (push) Successful in 39s
e2e / e2e (push) Successful in 1m15s
2026-08-22 19:44:50 +01:00
naps62-yolo 84777169d0 feat(db): SQLite schema and movie migrations (#48)
ci / web (push) Successful in 7s
ci / rust (push) Successful in 35s
e2e / e2e (push) Successful in 47s
2026-08-22 19:36:39 +01:00
ClaudeandClaude Opus 5 f4e63f1ac5 chore: cargo workspace skeleton
Eleven empty crates per DESIGN.md §11, versions and lints pinned once in the
root manifest, Justfile carrying the §12 gate, nix dev shell.

The frontend steps in `just ci` no-op until web/ exists. arr-core carries one
placeholder test because `cargo nextest` fails a zero-test run, and relaxing
that would let a broken filter go green later.

Closes #1

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 19:20:47 +01:00