Commit Graph
12 Commits
Author SHA1 Message Date
Miguel Palhas 4502abbb04 Merge remote-tracking branch 'origin/main' into issue/22-grab-pipeline
ci / rust (pull_request) Successful in 1m34s
ci / web (pull_request) Successful in 37s
e2e / e2e (pull_request) Successful in 2m5s
# Conflicts:
#	.sqlx/query-6e988f7e8d8ac2167c589a35626b11ab88e1fdcc28c432da4c3debf1202eee7a.json
#	crates/arr-api/src/search.rs
2026-08-22 22:27:13 +01:00
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 b5413eef46 Use policy scoring weights in release search (#74)
ci / rust (push) Failing after 56s
ci / web (push) Successful in 37s
e2e / e2e (push) Successful in 1m51s
2026-08-22 22:12:17 +01:00
naps62-yolo bf526b9198 Unified search box (#30) (#75)
ci / rust (push) Failing after 1m26s
ci / web (push) Successful in 29s
e2e / e2e (push) Successful in 1m55s
2026-08-22 22:08:32 +01:00
naps62-yolo ac6ed8b798 feat(db): add series, season and episode model (#71)
ci / rust (push) Successful in 1m36s
ci / web (push) Successful in 34s
e2e / e2e (push) Successful in 1m41s
2026-08-22 22:04:27 +01:00
naps62-yolo 0b7565189e feat(api): owner tags and filtered movie views (#70)
ci / web (push) Successful in 52s
ci / rust (push) Successful in 1m21s
e2e / e2e (push) Successful in 1m41s
2026-08-22 21:43:03 +01:00
Miguel PalhasandClaude Fable 5 5a1cf999b6 fix(api): adapt search to arr-core scoring API
ci / web (push) Successful in 31s
ci / rust (push) Successful in 2m36s
e2e / e2e (push) Successful in 2m41s
PRs #63 and #65 were each green pre-merge but changed and consumed
the same arr-core surface; merging both broke main. Size bands are
now gibibytes with a points penalty, evaluate takes size_bytes, and
Policy carries score_weights (column wiring tracked in #68).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 21:31:45 +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 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 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
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