Deluan
c04c8ee02a
fix(artwork): mock PutImage refreshes created_at like the SQL repository
...
Prune specs now age fixtures directly instead of seeding stale timestamps through the upsert.
2026-07-22 00:58:22 -04:00
Deluan
0147cc59b1
fix(artwork): honor the orphan cutoff in the repository mock
...
The mock's DeleteOrphans now applies createdBefore like the SQL implementation, and a new spec covers a freshly reacquired row surviving prune.
2026-07-22 00:42:42 -04:00
Deluan
8147f7c40b
fix(artwork): rewrite vanished duplicates and sweep stale mime variants
...
Write falls through to a real write when the liveness touch fails, and sweep retention now matches the recorded mime's extension so obsolete variants are reclaimed.
2026-07-22 00:28:51 -04:00
Deluan
bf614e66ad
fix(artwork): guard orphan file removal with the prune grace window
...
Duplicate ImageStore writes refresh the file mtime and Remove skips files newer than the cutoff, so overlapping acquisitions cannot lose their store files to a concurrent prune.
2026-07-22 00:19:45 -04:00
Deluan
623b7d6a6c
fix(artwork): atomic orphan deletion and timestamp semantics from review
...
DeleteOrphans re-checks age+references at delete time, PutItemArtwork defaults attempted_at, queue mock timestamps mirror SQL.
2026-07-22 00:11:15 -04:00
Deluan
6f7f9c6463
fix(artwork): address review findings on prune/sweep races and mock fidelity
...
Sweep now honors an mtime grace window (in-flight acquisitions and temp files), reacquired orphans reset the prune grace window, and the queue mock implements real stale-absent semantics.
2026-07-21 23:57:58 -04:00
Deluan
8fd7ef19f3
refactor(artwork): apply simplify-pass cleanups
...
Internal item_artwork sqlRepository helper, toSQLArgs upserts, batched queue enqueue, EnqueueStaleAbsent moved to queue repo, snapshot-based prune sweep, mock/real semantics aligned.
2026-07-21 23:37:05 -04:00
Deluan
4f835437a9
refactor(artwork): merge item artwork state into ArtworkRepository
2026-07-21 23:14:01 -04:00
Deluan
b16ef725c9
refactor(artwork): fold originals package into core/artwork as ImageStore
2026-07-21 23:09:31 -04:00
Deluan
3e7685adc2
fix(artwork): never sweep files on transient DB errors during prune
2026-07-21 23:02:47 -04:00
Deluan
db16b3de9a
feat(artwork): add artwork prune (orphan cleanup)
2026-07-21 22:58:20 -04:00