P3/P4: every write is a standard streamed ETL with Review summary lines and a Result; bulk cap,
per-bucket lock re-check, referenced/protected/locked skips, soft delete with Restore, folder
actions via a custom extract, previews through a short-lived presigned GET.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
P2: the object_storage_object index kept in step with the bucket (full scan with resume
and a mass-removal safety stop, write-through, soft-deleted rows), orphaned and missing
objects from FieldReferenceProvider, usage snapshots, quota and freshness alerts.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
P1 of the object storage qbit: ObjectStorage.bucket(alias) with put, get, head, copy,
delete, restore, list, header changes, presigned GET/PUT/POST and public URLs; config
from code upserted into visible object_storage_* tables; capability model with the
Test connection probe; operation log; header policy; protection rules; SF1-SF5.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>