Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADRs

Suggested Use Workflow

  1. Create a new ADR using the template in docs/adr/template.md.
  2. Give it a sequential identifier (e.g., 001, 002) and a concise title.
  3. Capture context, decision, consequences, and follow-up actions.
  4. Append the new ADR entry to the end of the Catalogue list above.
  5. Append the same entry under ADRs in docs/SUMMARY.md, keeping it nested so the sidebar stays collapsed.
  6. Reference ADRs from code comments or docs where the decision applies.

Catalogue

  • Template – ADR template

  • 001 – Configuration revisioning

  • 002 – Setup token lifecycle

  • 003 – Libtorrent session runner

  • 004 – Phase one delivery

  • 005 – FS operations pipeline

  • 006 – API/CLI contract

  • 007 – Security posture

  • 008 – Remaining phase-one tasks

  • 009 – FS ops permission hardening

  • 010 – Agent compliance sweep

  • 011 – Coverage hardening

  • 012 – Agent compliance refresh

  • 013 – Runtime persistence

  • 014 – Data access layer

  • 015 – Agent compliance hardening

  • 016 – Libtorrent restoration

  • 017 – Avoid sqlx-named-bind

  • 018 – Retire testcontainers

  • 019 – Advisory RUSTSEC-2024-0370 temporary ignore

  • 020 – Torrent engine precursor hardening

  • 021 – Torrent precursor enforcement

  • 022 – Torrent settings parity and observability

  • 023 – Tracker config wiring and persistence

  • 024 – Seeding stop criteria and overrides

  • 025 – Seed mode admission with optional hash sampling

  • 026 – Queue auto-managed defaults and PEX threading

  • 027 – Choking strategy and super-seeding configuration

  • 028 – qBittorrent parity and tracker TLS wiring

  • 029 – Torrent authoring, labels, and metadata updates

  • 030 – Migration consolidation for initial setup

  • 031 – UI Nexus asset sync tooling

  • 032 – Torrent FFI audit closeout

  • 033 – UI SSE + auth/setup wiring

  • 034 – UI SSE normalization and ApiClient singleton

  • 035 – Advisory RUSTSEC-2021-0065 temporary ignore

  • 036 – Asset sync test stability under parallel runs

  • 037 – UI row slices and system-rate store wiring

  • 038 – UI shared API models and torrent query paging state

  • 039 – UI store, API coverage, and rate-limit retries

  • 040 – UI label policy editor and API wiring

  • 041 – UI health view and label shortcuts

  • 042 – UI metrics copy button

  • 043 – UI settings bypass local auth toggle

  • 044 – UI ApiClient torrent options/selection endpoints

  • 045 – UI icon components and icon button standardization

  • 046 – UI torrent filters, pagination, and URL sync

  • 047 – UI torrent list updated timestamp column

  • 048 – UI torrent row actions, bulk controls, and rate/remove dialogs

  • 049 – UI detail drawer overview/files/options

  • 050 – UI torrent FAB, add modal, and create-torrent authoring flow

  • 051 – UI shared API models and UX primitives

  • 052 – UI dashboard migration to Nexus vendor layout

  • 053 – UI dashboard hardline rebuild

  • 054 – UI dashboard Nexus parity tweaks

  • 055 – Factory reset and bootstrap API key

  • 056 – Factory reset auth fallback when no API keys exist

  • 057 – UI settings tabs and editor controls

  • 058 – UI settings controls, logs stream, and filesystem browser

  • 059 – Migration rebaseline and JSON backfill guardrails

  • 060 – Auth expiry enforcement and structured error context

  • 061 – API error i18n and OpenAPI asset constants

  • 062 – Event bus publish guardrails and API i18n cleanup

  • 063 – CI compliance cleanup for test error handling

  • 064 – Factory reset error context and allow-path validation

  • 065 – API key refresh and no-auth setup mode

  • 066 – Factory reset UX fallback and SSE setup gating

  • 067 – Logs ANSI rendering and bounded buffer

  • 068 – Agent compliance clippy cargo linting

  • 069 – Pin mdbook-mermaid for docs builds

  • 070 – Dashboard UI checklist completion and auth/SSE hardening

  • 071 – Libtorrent native fallback for default CI

  • 072 – Agent compliance refactor (UI + HTTP + Config Layout)

  • 073 – UI checklist follow-ups: SSE detail refresh, labels shortcuts, strict i18n, and anymap removal

  • 074 – Temporary vendoring of yewdux for latest Yew compatibility

  • 075 – Coverage gate tests for config loader and data toggles

  • 076 – Temporary clippy exception for hashbrown multiple versions

  • 077 – UI menu interactions

  • 078 – Local auth bypass guardrails

  • 079 – Advisory RUSTSEC-2025-0141 temporary ignore

  • 080 – Local auth bypass reliability

  • 081 – Playwright E2E test suite

  • 082 – E2E gate and selector stability

  • 083 – API preflight before UI E2E

  • 084 – E2E API coverage with temp databases

  • 085 – E2E OpenAPI client and unified coverage

  • 086 – Default local auth bypass

  • 087 – Local network auth ranges and settings validation

  • 088 – Live SSE log streaming

  • 089 – Port process termination for dev tooling

  • 090 – UI log filters and shell controls

  • 091 – Raise per-crate coverage gate to 90%

  • 092 – Fsops coverage hardening

  • 093 – UI logic extraction for testable components

  • 094 – UI E2E sharding in workflows

  • 095 – Untagged images use dev tag

  • 096 – Aggregate UI E2E coverage for sharded runs

  • 097 – Dev prereleases and PR image previews

  • 098 – Reusable image build workflow

  • 099 – Indexer ERD single-tenant and audit fields

  • 100 – SonarQube workflow with root coverage LCOV

  • 101 – Indexer ERD implementation checklist

  • 102 – Indexer core schema foundations

  • 103 – Indexer definition schema

  • 104 – Indexer instance schema and RSS

  • 105 – Indexer secret schema

  • 106 – Indexer search profiles and Torznab schema

  • 107 – Indexer import schema

  • 108 – Indexer rate limit and Cloudflare schema

  • 109 – Indexer policy schema

  • 110 – Indexer Torznab category schema

  • 111 – Indexer connectivity and audit schema

  • 112 – Indexer canonicalization schema

  • 113 – Indexer search request schema

  • 114 – Indexer scoring schema

  • 115 – Indexer conflict and decision schema

  • 116 – Indexer user action and acquisition schema

  • 117 – Indexer telemetry and reputation schema

  • 118 – Indexer job schedule schema

  • 119 – Indexer FK on-delete rules

  • 120 – Indexer seed data and defaults

  • 121 – Indexer query indexes

  • 122 – Indexer deployment initialization procedure

  • 123 – Indexer app_user stored procedures

  • 124 – Indexer tag stored procedures

  • 125 – Indexer routing policy stored procedures

  • 126 – Indexer Cloudflare reset procedure

  • 127 – Indexer rate limit stored procedures

  • 128 – Indexer instance stored procedures

  • 129 – Indexer category mapping procedures

  • 130 – Indexer policy set procedures

  • 131 – Indexer search profile procedures

  • 132 – Indexer policy rule create procedure

  • 133 – Indexer outbound request log procedure

  • 134 – Indexer Torznab instance state procedures

  • 135 – Indexer conflict resolution procedures

  • 136 – Indexer job runner procedures

  • 137 – Indexer search request cancel procedure

  • 138 – Indexer search run procedures

  • 139 – Indexer canonical disambiguation rule procedure

  • 140 – Indexer search request create procedure

  • 141 – Indexer job runner follow-up procedures

  • 142 – Indexer executor handoff stored procedures

  • 143 – Indexer tag API surface

  • 144 – Task: Indexer procedure fixes (RSS apply, base score refresh, normalization)

  • 145 – Indexer domain mapping and DI boundaries

  • 146 – Indexer stored-proc test harness

  • 147 – Indexer error-code taxonomy

  • 148 – Indexer v1 scope enforcement

  • 149 – Indexer schema JSON ban verification

  • 150 – Indexer public-id and bigint identity verification

  • 151 – Indexer soft-delete coverage verification

  • 152 – Indexer audit fields and timestamp defaults verification

  • 153 – Indexer API boundary public-id verification

  • 154 – Indexer external reference public-id verification

  • 155 – Indexer system sentinel usage verification

  • 156 – Indexer text caps and lowercase key enforcement verification

  • 157 – Indexer normalized column verification

  • 158 – Indexer hash identity rules verification

  • 159 – Indexer secret binding linkage verification

  • 160 – Indexer single-tenant scope verification

  • 161 – Indexer table/constraint alignment verification

  • 162 – Indexer per-table Notes verification

  • 163 – Indexer proc error-code alignment for key lookups

  • 164 – Indexer error enums and normalization helpers verification

  • 165 – Indexer result-only returns and no-panics verification

  • 166 – Indexer tryOp wrappers for external operations

  • 167 – Indexer routing policy service and endpoints

  • 168 – Indexer definition list endpoint

  • 169 – Indexer CF state read endpoint

  • 170 – Indexer CF state E2E coverage

  • 171 – Indexer category mapping API endpoints

  • 172 – Indexer Torznab instance API endpoints

  • 173 – Indexer search profile API endpoints

  • 174 – Indexer import jobs API endpoints

  • 175 – Indexer import jobs CLI commands

  • 176 – Indexer Torznab CLI management

  • 177 – Indexer policy CLI management

  • 178 – Indexer instance test API and CLI

  • 179 – Indexer allocation safety guard

  • 180 – Auth prompt dismissal stability

  • 181 – Cross-platform allocation safety probe

  • 182 – Indexer PR feedback follow-through

  • 183 – Indexer PR feedback allocation follow-up

  • 184 – Indexer PR feedback allocation caps

  • 185 – Indexer Torznab caps endpoint

  • 186 – Indexer Torznab download and allocation guards

  • 187 – Indexer search requests API and allocation guard refinements

  • 188 – Indexer search request auth E2E coverage

  • 189 – Indexer search pages API

  • 190 – Search request validation tests

  • 191 – Hash identity derivation tests

  • 192 – Rate limit state purge test

  • 193 – Job schedule completion updates

  • 194 – Job claim locking and lease durations

  • 195 – Policy snapshot GC ordering

  • 196 – Retention purge context cleanup

  • 197 – Indexer connectivity profile refresh rollups

  • 198 – Reputation rollup sample thresholds

  • 199 – Canonical refresh durable source cadence

  • 200 – Canonical prune source-link policy alignment

  • 201 – RSS poll and subscription backfill workflows

  • 202 – RSS scheduling, backoff, and dedupe validation

  • 203 – Rate limit token bucket and RSS rate-limited semantics

  • 204 – Cloudflare state transition and mitigation validation

  • 205 – Policy snapshot reuse and refcount validation

  • 206 – Policy snapshot GC acceptance coverage

  • 207 – Derived refresh timing and caching validation

  • 208 – Retention and rollup job window validation

  • 209 – Retention and derived refresh strategy coverage

  • 210 – Policy rule disable/enable and reorder validation

  • 211 – Search-result observation rules validation

  • 212 – Category mapping and domain filter validation

  • 213 – Indexer observability counters for Torznab, search, and import jobs

  • 214 – Indexer request span coverage for Torznab, search, and import jobs

  • 215 – Torznab parity integration tests for endpoint format and auth semantics

  • 216 – Torznab search query mapping and append-order pagination

  • 217 – Torznab download redirect and acquisition-attempt coverage

  • 218 – Torznab feed category emission and test fixture hardening

  • 219 – Torznab multi-category domain mapping and Other (8000) behavior coverage

  • 220 – Rate-limit defaults and indexer/routing scope enforcement coverage

  • 221 – Search-run retry behavior coverage for rate-limited and transient errors

  • 222 – RSS Cloudflare state transition alignment with ERD

  • 223 – Search streaming pages terminal sealing and append-only ordering

  • 224 – Search dropped-source audit persistence and paging exclusion

  • 225 – Canonicalization conflict coverage

  • 226 – Indexer unit test domain coverage

  • 227 – Health and reputation rollup semantics from outbound logs

  • 228 – Search zero-result explainability

  • 229 – Prowlarr import source parity and dry-run coverage

  • 230 – Import result mapping and unmapped-definition coverage

  • 231 – Migration parity E2E flow coverage

  • 232 – Indexer schema and procedure catalog verification tests

  • 233 – Import result fidelity snapshots

  • 234 – Secret binding and test error class coverage

  • 235 – Indexer instance creation uses the public definition slug key

  • 236 – Indexer service operation metrics and spans

  • 237 – Indexer dependency-injection boundary enforcement

  • 238 – Manual search UI

  • 239 – Indexer admin console UI

  • 240 – Indexer schedule controls UI

  • 241 – Indexer RSS management UI

  • 242 – Indexer connectivity and reputation UI

  • 243 – Indexer routing policy visibility

  • 244 – Indexer import job dashboard

  • 245 – Indexer health event drill-down

  • 246 – Indexer origin-only error logging

  • 247 – Indexer health summary panels

  • 248 – Indexer backup and restore

  • 249 – Indexer coexistence and rollback acceptance coverage

  • 250 – Indexer domain service closeout

  • 251 – Indexer instance category overrides

  • 252 – Indexer final acceptance closeout

  • 253 – Indexer health notification hooks

  • 254 – Indexer app sync provisioning UI

  • 255 – Indexer app-scoped category overrides

  • 256 – Indexer source conflict operator UI

  • 257 – Indexer Cardigann definition import

  • 258 – PR review closeout

  • 259 – PR review and security follow-up

  • 260 – PR CodeQL closeout

  • 261 – PR security and thread closeout

  • 262 – PR final thread closeout

  • 263 – SonarCloud PR issue cleanup and scope alignment

  • 264 – PR unresolved feedback closeout

  • 265 – PR feedback boundary validation closeout

  • 266 – PR CodeQL follow-up on instance tag bounds

  • 267 – Indexer maintenance runtime

  • 268 – Indexer tag and secret inventory

  • 269 – Indexer operator inventory read surfaces

  • 270 – Indexer profile, policy, and Torznab inventory

  • 271 – Indexer CLI read parity

  • 272 – Indexer CLI operator write parity

  • 273 – Indexer CLI mutation parity follow-up

  • 274 – Indexer CLI health-notification parity

  • 275 – PR output redaction and review follow-up

  • 276 – CI cache trim for runner disk pressure

  • 277 – PR review handler normalization follow-up

  • 278 – Remediation plan implementation closeout

  • 279 – Remediation plan gap closure

  • 280 – PR 21 feedback closeout

  • 281 – PR 21 Sonar and review closeout

  • 282 – PR 21 final feedback closeout

  • 283 – PR 21 Trivy action pin refresh

  • 284 – Instruction refresh and Sonar scope hardening

  • 285 – PR 19 review and lint closeout

  • 286 – Advisory RUSTSEC-2026-0097 temporary ignore

  • 287 – PR 19 policy reconciliation

  • 288 – PR 19 OpenAPI test portability

  • 289 – PR 19 native settings snapshot test stability

  • 290 – PR 19 final feedback closeout

  • 291 – PR 19 Sonar quality gate restoration

  • 292 – PR 19 review timeout stability

  • 293 – PR 19 GitHub Action SHA pinning

  • 294 – PR 19 review feedback closeout

  • 295 – Dependency bump rollup

  • 296 – Helm chart release publishing

  • 297 – Helm feedback and Sonar closeout

  • 298 – CI workflow permissions regression

  • 299 – Trivy config baseline

  • 300 – Trivy container and Sonar PGSQL config

  • 301 – Security dependency refresh for PR 25

  • 302 – PR validation and main release workflow split

  • 303 – Release tag image job dependency split

  • 304 – PR 25 deny exception and Sonar hotspot closeout

  • 305 – PR 25 prerelease tag release guard

  • 306 – Semantic release prepare template fix

  • 307 – CI ORAS setup action refresh

  • 308 – PR workflow Helm and Sonar consolidation

  • 309 – GHCR Helm namespace derivation

  • 310 – PR Helm review follow-ups

  • 311 – GHCR Helm GitHub token authentication

  • 312 – Artifact Hub OCI repository alignment

  • 313 – Trivy SARIF category and GHCR token alignment

  • 314 – Artifact Hub verification and official readiness

  • 315 – Indexer import job runtime worker

  • 316 – Import runtime gap-closure follow-up

  • 317 – Supply chain advisory baseline

  • 322 – Supply chain CI and advisory remediation

  • 404 – Doc indexer fixture isolation

  • 406 – PR 71 deterministic Cargo tools

  • 407 – Database-backed coverage execution

  • 409 – Portable Helm annotation rendering

  • 410 – Libtorrent 2.1 compatibility foundation

  • 411 – Untracked generated API schema

  • 461 – ADR and task-record status semantics

  • 462 – PR 88 shell return correction

  • 477 – Uniform stacked-PR check emission

  • 478 – Validation foundation advisory refresh

  • 479 – Platform-safe test dependencies

  • 480 – PostgreSQL test shared memory

  • 481 – Warning-free validation tools

  • 592 – Python development and automation tooling