ADRs
Suggested Use Workflow
- 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
ADRsindocs/SUMMARY.md, keeping it nested so the sidebar stays collapsed. - 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