fsspec-backed Storage seam for cloud-agnostic IO¶
All framework IO — input documents, inter-Stage records, checkpoints, exports, the Quality Report — flows through one Storage abstraction backed by fsspec / universal-pathlib. Local disk, S3, GCS, Azure Blob, ABFS/Databricks DBFS, and HDFS are addressed by URI scheme (file://, s3://, gs://, abfs://) with no framework code change; credentials resolve through the adopter's existing mechanism (env vars, instance roles, cloud SDK default chains) so the framework never stores secrets. This replaces the private stack's hardwired Backblaze-B2 boto3 client and its Supabase-coupled paths. The demo uses file:// on a laptop and MinIO in compose. Rejected: an S3-compatible-only interface (excludes Azure Blob and GCS-native, needs bespoke Databricks handling), bring-your-own IO callbacks (every adopter re-implements the boring part), and object-store-only (blocks the trivial "point it at a folder" first run).