issue/227-abandoned-pack-visible
A pack that hard-failed at import blacklisted its release, put every episode back to missing and left the season reading 0/10, with nothing on screen joining the two. Every fact was already recorded. The blacklist now carries its reason out of the database: deck rows read `blacklisted · size` instead of a bare `blacklisted`, and say whether the policy turned the file down — relaxable for this title — or the release itself failed, which a retry only repeats. A season whose pack was abandoned says so on its row and above its deck, with the release name, when it failed, and what it failed on. A row the blacklist no longer answers for keeps rendering and claims no reason. Two defects from the integration review of #211 sit in the same code and are fixed here: a waived row threw away the rule it now carries and read a bare `below policy`, and the empty-eligible count called every waived row force-grabbable, since #211 gave those rows the rule `overridable` reads. Verified against a real browser: series detail, both season decks and their buckets, at 1280 and 390 px. Refs #227, #211
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.
Languages
Rust
83.4%
TypeScript
11.5%
CSS
1.9%
Python
1.4%
HTML
1%
Other
0.8%