f91359f881
build / build (push) Successful in 1m15s
为什么:存储页原来只有占用数字,保留/依赖保护/清理预览写"未接线";这些都不需要生产写权限, 按"未设置就不做决定"的口径实现成只读计算。 - internal/libraryretention:按保留数量/天数生成预览;生产生效、每库最近封存、每次生产预备份、 在飞作业引用一律受保护;回收预览只算独占字节,共享 blob 不计。 - internal/libraryretention.CheckCapacity:预算未设置即不放行(无法证明装得下),超预算阻断; 已并入 POST /library/syncs 的 gate 缺项。 - 新增 GET /api/v1/library/storage:真实归档用量 + 三类版本保护依据 + 策略 + 预览 + 容量,只读。 - 系统设置→存储管理改为读该接口:策略未设置时明确"全部保留、不生成候选",自动清理恒关闭。 - 配置项 LIBRARY_CAPACITY_BUDGET_BYTES / LIBRARY_RETENTION_VERSIONS / LIBRARY_RETENTION_DAYS(未设=0)。