Files
junhong_cmp_fiber/.scratch/ur36-bulk-package-purchase/issues/02-controlled-upload-object-ownership.md
2026-07-22 17:25:05 +09:00

20 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 02 — 交付受控直传与对象归属证明
**What to build:** 操作员可以为批量订购 CSV 和线下凭证申请受控上传地址并直传真实私有 S3业务接口随后能够证明对象由当前账号按声明用途申请、已经真实上传且元数据符合约束。上传授权可原子绑定业务任务已绑定 Key 不能被其他账号或其他批次复用。
**Blocked by:** None — can start immediately
**Status:** ready-for-agent
**架构通道:** 主通道为 Infrastructure辅助通道为简单写 Application。
**完整业务边界:** 本票收口预签名上传授权、对象 Head 元数据和业务绑定能力,并增加 `bulk_purchase` 受控用途。明确不解析 CSV、不创建批量任务、不改变其他对象存储消费者的业务语义、不实现内存 Provider。
- [ ] `bulk_purchase` 用途只签发批量订购目录下的 `.csv` Key并限制为允许的 CSV Content-Type附件继续复用现有 `attachment` 用途和文件类型规则。
- [ ] 上传授权稳定保存对象 Key、用途、申请账号、声明文件名、声明 Content-Type 和签发时间,不以目录前缀推断上传主体。
- [ ] 存储 Provider 可以查询对象是否存在、实际大小和实际 Content-Type并以统一安全错误区分不存在、类型不符、过大和基础设施失败。
- [ ] 授权绑定使用业务类型、业务 ID 和绑定时间形成持久事实;同一 Key 的并发绑定最终由数据库约束裁决。
- [ ] 相同业务幂等重试可以识别原绑定,其他账号、其他用途或其他批次复用同一 Key 时明确冲突。
- [ ] 真实 S3 集成测试覆盖预签名上传、Head、下载、精确删除、10MB 边界、伪造类型、对象不存在、跨账号、跨用途和重复绑定。