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