Files
core/.trellis/tasks/archive/2026-10/09-20-large-cms-acceptance/prd.md
T

2.1 KiB

双源码 CMS 业务闭环验收

当前目标与授权

2026-10-04 用户批准继续完善 CMS:替换空断言,贯通分类、文章、修订、媒体和定时发布,验证权限拒绝、并发冲突、重试与回滚。沿用本任务;旧规划中的手写 main、Principal 入参、业务 RBAC 和旧命令名已被后续语言合同取代,不恢复旧实现。

要求

  • 两套示例保持业务声明、Model/API/Job/Port 和测试等价。
  • 复用现有 ORM、自动权限、database-only 租户、Upload/Storage Port 和延时 Job;业务规则留在 App/Domain,不绕过真实身份。
  • 分类与媒体可关联文章,创建/编辑时校验。修订快照与文章更新同租户事务;过期版本或并发竞争明确冲突,不丢失更新。
  • 手动发布保持作者校验;定时创建验证作者和文章状态,按真实到期时间执行;重复任务不重复发布/审计,失败不留下部分完成状态。
  • 普通应用测试只用运行器临时 SQLite、结果捕获和 fake,不加身份后门、不读部署配置。认证、租户、上传与 Worker 由自有 HTTP 验收覆盖。
  • 两个固定字符串断言必须删除或改为真实业务测试;check、健康接口、快照不代表业务验收。
  • 配置只用 config/setting.json,不增加环境变量、权限表或框架层。

验收

  • 两套 check/fmt、应用测试和语义等价通过。
  • 分类/媒体关联、修订编辑、发布快照形成完整链路。
  • 未授权/非作者请求失败且无写入,保留即时撤权。
  • 并发/过期修订只有合法更新成功;失败回滚文章和修订/审计。
  • 任务不提前运行,到期发布、重复执行、失败回滚/重试有真实断言。
  • 上传成功与受限/失败路径验证文件、临时资源归属。
  • 定向 build、自有临时 HTTP/Worker 验收通过,记录范围和限制。

范围外

前端、富文本/搜索产品、外部云服务、公开发行、ARM、全量 CI 和长压测。仅确证阻止本任务的缺陷才修改语言核心。