Parity Certification Report¶
Scope¶
This report captures the qBitrr 5.12.3 (0b4a111) parity closeout pass across config/migrations, database behavior, policy engine, web/API contracts, and docs alignment.
Primary tracking artifacts:
docs/parity/full-parity-matrix.mddocs/parity/contract-baseline.mddocs/parity/contributor-reference.mddocs/parity/overview.md
Implemented in This Pass (5.12.3)¶
Phase 0 — Branch hygiene¶
- Merged
origin/masterintotracker-sorter(dependency bumps only). - Re-pinned upstream to qBitrr branch 5.12.3 @
0b4a111incontributor-reference.md.
Phase 1 — Critical correctness¶
- HnR dead-tracker (#412): removed bare
"not found"fromSeedingService; addedTrackerMessageIndicatesDeadtests. - Auth bootstrap (5.12.2):
WebUIAuthHelpers.IsSetPasswordAllowed()requires setup token; LoginPage setup token field;SetPasswordEndpointTestsupdated. - Lidarr search timer: documented N/A in
ArrWorkerManager(single-loop architecture).
Phase 2 — 5.12.x features¶
- UrlBase:
WebUI.UrlBaseconfig,UrlBaseHelper,UsePathBase, cookie path,url_basein meta, frontendurlBase.ts+ ConfigView field. - Category paths:
CategoryPathHelper+ConfigValidationHelperoverlap validation on config save; wired into torrent/category matching. - Catalog rollups:
CatalogRollupServicewith qBitrr semantics + 5s TTL; integrated into/web|api/arr, Radarr/Sonarr/Lidarr endpoints. - Lidarr artists + thumbnails:
ArrCatalogEndpoints,ArrThumbnailService, frontendgetLidarrArtists/getLidarrArtistDetail. - OpenAPI: expanded
docs/assets/openapi.json(26 paths);scripts/check-openapi-drift.shin CI.
Phase 3 — Config schema¶
ExpectedConfigVersion = 6.12.2(+1 major vs qBitrr5.12.2).- Default
Settings.ConfigVersionupdated to6.12.2.
Validation Evidence¶
Backend tests (dotnet test --filter "Category!=Live"):
| Project | Passed |
|---|---|
| Torrentarr.Core.Tests | 106 |
| Torrentarr.Host.Tests | 157 |
| Torrentarr.Infrastructure.Tests | 341 |
| Total | 604 |
Frontend tests (cd webui && npx vitest run): exit code 0 (130 tests).
OpenAPI drift: bash scripts/check-openapi-drift.sh — 26 Torrentarr paths ⊆ 66 qBitrr 5.12.3 paths.
Focused regression checks added/updated:
SeedingServiceTests— dead-tracker false positive guardCategoryPathHelperTests,ConfigValidationHelperTestsCatalogRollupServiceTestsSetPasswordEndpointTests— setup token bootstrap
Matrix Status¶
All runtime module rows in full-parity-matrix.md are full or intentional-divergence as of this pass. Upstream pin: 5.12.3 @ 0b4a111.