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