-
Require CDN_BASE_URL everywhere so no cover URL can expire
-
Lower the browser upload cap to 2 GiB
-
Exorcise sweep: strip AI tells from server copy, comments, and docs
-
server: adopt lint block, fix clippy, fmt
-
Format the tree with rustfmt and add the lint + supply-chain gates
-
Fix the blob presign size declaration, bind part checksums
-
server: reap abandoned multipart sessions in the orphan cleanup
-
server: route promote through multipart copy above 5 GiB
-
server: expose client-direct multipart on StorageBackend
-
server: split public image content into a separate CDN bucket (S1)
-
Scan-then-promote uploads to immutable content keys (C1)
-
Add copy_object and content-addressed key foundations for scan-then-promote
-
server: cap buffered scan download to recorded size + slack
-
Support video clips in dynamic insertions
-
Type the S3 bucket noun and harden multipart/delete (ultra-fuzz Run 11 Storage)
-
storage: cover liveness by bare s3_key; ranged read for media sniff
-
server: orphan reaper hands transient failures to dead-letter ladder (ultra-fuzz Run 2 Storage SERIOUS)
-
server: supervise scheduler, cap internal broadcast, unblock git2 walk, single-pass archive scan (ultra-fuzz Run 2 Perf CRITICAL + SERIOUS)
-
server: seal S3 keys behind a typed builder; close storage A+ gaps (ultra-fuzz Run #1 --deep Phase 3)
-
server: weave version id into download S3 key (ultra-fuzz Run #1 Storage HIGH)
-
Clear Run #20 low/minor audit items
-
server: Tier 0 creator theming + fold in Run 18 storage work