* Not sure about this one, but try removing assets from old sessions.
* Simplify _prune_orphaned_assets: merge functions, use list comprehensions
Amp-Thread-ID: https://ampcode.com/threads/T-019c0917-0dc3-75ab-870d-a32b3fdc1927
Co-authored-by: Amp <amp@ampcode.com>
* Refactor _prune_orphaned_assets for readability
Amp-Thread-ID: https://ampcode.com/threads/T-019c0917-0dc3-75ab-870d-a32b3fdc1927
Co-authored-by: Amp <amp@ampcode.com>
* Add unit tests for pruning
* Add unit tests for _prune_orphaned_assets
Tests cover:
- Orphaned seed assets pruned when file removed
- Seed assets with valid files survive
- Hashed assets not pruned even without file
- Multi-root pruning
- SQL LIKE escape handling for %, _, spaces
Amp-Thread-ID: https://ampcode.com/threads/T-019c0c7a-5c8a-7548-b6c3-823e9829ce74
Co-authored-by: Amp <amp@ampcode.com>
* Ruff fix
---------
Co-authored-by: Amp <amp@ampcode.com>