ab001b512f5f78e1ca67b40a7374429c07729506
Forced and SDH get no sidecar name of their own: one language, one sidecar, and a forced track is ignored where a plain one exists. That makes the database constraint fall out rather than needing a scheme. The OpenAI-compatible backend's base URL and model become database rows. It is not "OpenAI" — it is any endpoint speaking that shape, llama.cpp included — so which one is in use is something to try and change, not a property of the deployment. Only the API key stays in the environment.
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%