docs(downloads): mark UR-055/056 Done; fix colliding UT ids

The browsable Downloaded library + Transfers split + on-disk usage
(f25deba, plus today's grouping/perf fixes) fully implement UR-055 and
UR-056, but the requirements doc still listed them and DR-081..085 as
Planned. Flip to Done.

Also fix UT-id collisions: the downloaded-browse and formatBytes tests
reused UT-046..050 (already assigned to smart-cache/playlist tests in the
matrix). Reassign to UT-071..078 and register them in §4, including the
new music/TV container-rollup and orphan-leaf regression tests.
This commit is contained in:
2026-07-24 22:22:43 +02:00
parent 57b24f8c74
commit e2c9d68311
4 changed files with 99 additions and 61 deletions
+76 -46
View File
@@ -1,11 +1,11 @@
# Code Traceability Matrix
**Generated:** 7/24/2026, 9:05:27 PM
**Generated:** 7/24/2026, 10:21:18 PM
## Summary
- **Total Files Scanned:** 284
- **Total TRACES Found:** 268
- **Total TRACES Found:** 269
- **Requirements Covered:**
- User Requirements (UR): 53
- Integration Requirements (IR): 14
@@ -908,7 +908,7 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
### DR-039
**Locations:** 8 file(s)
**Locations:** 9 file(s)
- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1)
- **Line:** 1
@@ -919,6 +919,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L1)
- **Line:** 1
- **Context:** `Unknown`
- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L37)
- **Line:** 37
- **Context:** `Unknown`
- **File:** [`src/lib/components/home/Carousel.svelte`](src/lib/components/home/Carousel.svelte#L1)
- **Line:** 1
- **Context:** `Unknown`
@@ -2866,7 +2869,7 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
### UR-034
**Locations:** 10 file(s)
**Locations:** 11 file(s)
- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1)
- **Line:** 1
@@ -2877,12 +2880,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L1)
- **Line:** 1
- **Context:** `Unknown`
- **File:** [`src/lib/components/home/Carousel.svelte`](src/lib/components/home/Carousel.svelte#L1)
- **Line:** 1
- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L37)
- **Line:** 37
- **Context:** `Unknown`
- **File:** [`src/lib/components/home/HeroBanner.svelte`](src/lib/components/home/HeroBanner.svelte#L1)
- **Line:** 1
- **Context:** `Unknown`
- **File:** [`src/lib/components/home/Carousel.svelte`](src/lib/components/home/Carousel.svelte#L1)
- **Line:** 1
- **Context:** `Unknown`
- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2)
- **Line:** 2
- **Context:** `Unknown`
@@ -3419,14 +3425,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 2
- **Context:** `Unknown`
### UT-050
**Locations:** 1 file(s)
- **File:** [`src/lib/utils/formatBytes.test.ts`](src/lib/utils/formatBytes.test.ts#L4)
- **Line:** 4
- **Context:** `Unknown`
### UT-052
**Locations:** 1 file(s)
@@ -3486,6 +3484,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 4
- **Context:** `Unknown`
### UT-071
**Locations:** 1 file(s)
- **File:** [`src/lib/utils/formatBytes.test.ts`](src/lib/utils/formatBytes.test.ts#L4)
- **Line:** 4
- **Context:** `Unknown`
### UR-016
**Locations:** 2 file(s)
@@ -3838,38 +3844,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 136
- **Context:** `Unknown`
### UT-046
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2686)
- **Line:** 2686
- **Context:** `Unknown`
### UT-047
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2809)
- **Line:** 2809
- **Context:** `Unknown`
### UT-048
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2828)
- **Line:** 2828
- **Context:** `Unknown`
### UT-049
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2850)
- **Line:** 2850
- **Context:** `Unknown`
### UT-051
**Locations:** 1 file(s)
@@ -3900,4 +3874,60 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 2385
- **Context:** `Unknown`
### UT-072
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2686)
- **Line:** 2686
- **Context:** `Unknown`
### UT-073
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2809)
- **Line:** 2809
- **Context:** `Unknown`
### UT-074
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2828)
- **Line:** 2828
- **Context:** `Unknown`
### UT-075
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2850)
- **Line:** 2850
- **Context:** `Unknown`
### UT-076
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2708)
- **Line:** 2708
- **Context:** `Unknown`
### UT-077
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2742)
- **Line:** 2742
- **Context:** `Unknown`
### UT-078
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2788)
- **Line:** 2788
- **Context:** `Unknown`