Miguel PalhasandClaude Opus 5 b1c11ae5f1
ci / web (pull_request) Successful in 23s
ci / rust (pull_request) Successful in 1m18s
fix(db): put the scoring numbers in the policy rows
The size bands seeded before scoring existed carried a penalty on no
particular scale, and the weights that keep source tier and seeders
small against the size term had nowhere to live but a Default impl.
§5.5 says these are policy rows, tuned by hand.

`SizeBand::penalty_points_per_gib_over` names its unit, so a row and
the type it loads into agree on what the number means.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 21:12:50 +01:00
2026-08-22 21:00:35 +01:00
2026-08-22 21:00:35 +01:00
2026-08-22 20:22:23 +01:00
2026-08-22 19:20:47 +01:00
2026-08-22 19:20:47 +01:00

arr

One service that replaces Radarr and Sonarr, and later Bazarr, for a single household.

Five .NET services idle at 600-900 MB to run a loop with four steps in it: decide what you want, find it, fetch it, put it where Jellyfin can read it. Each has a configuration surface an order of magnitude larger than the subset anyone uses, and none of them share a model.

This is that loop, once, in Rust.

  • Prowlarr stays — it owns tracker auth, Cloudflare bypass and the indexer definitions, and replacing it buys nothing.
  • Transmission stays.
  • Jellyseerr stays, talking to a thin Radarr-compatible shim.

Status

Design complete, implementation not started. See DESIGN.md for the contract and the issue tracker for the work.

Documents

  • DESIGN.md — the contract. Domain model, policy engine, sourcing, import, crate layout, build order.
  • CLAUDE.md — repository conventions, label taxonomy, and how an autonomous driver session should sequence the work.
S
Description
No description provided
Readme
17 MiB
Languages
Rust 83.4%
TypeScript 11.5%
CSS 1.9%
Python 1.4%
HTML 1%
Other 0.8%