feat(ECR-026): OpsCMS ScheduledPublication 只读并 Closed

定时发布目录(ops_scheduled_publications),并加固 catalog 生成器。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-08 03:13:36 +08:00
co-authored by Cursor
parent 8c50b3d925
commit b91806ba80
40 changed files with 1909 additions and 2 deletions
@@ -0,0 +1,41 @@
# Feature Spec: OpsCMS · ScheduledPublicationOps · ECR-026
> Status: `Active`Loop continuous · **ECR-026 Closed**
> Parent: WAVE0-FROZEN · Predecessor: ECR-025 Closed
> Capability: `OpsCMS` · BC: `Ops_CMS_NoUGC`
> 授权:`docs/WAVE0/LOOP_AUTHORIZATION.md`
## Non-goals
定时发布写操作 · UGC · 真支付 · Banner/FeedSlot 写
## L2 Domain
| 概念 | 语义 |
|------|------|
| `ScheduledPublication` | 本切片只读目录;code 唯一(若适用) |
## L3 API
| Method | Path | 权限 | 语义 |
|--------|------|------|------|
| GET | `/admin/cms/publications` | `admin.cms.read` | 只读 |
| GET | `/admin/cms/publications/{id}` | `admin.cms.read` | 只读 |
## Migration
`000027`:表 + 种子(若有)(权限复用)
## L4 AC
| ID | Then |
|----|------|
| AC-F-01 | list 含种子或空列表合法 |
| AC-F-02 | 已知 id get 200 |
| AC-F-03 | 未知 id → 404 |
| AC-S-01 | 无 Admin → 401 |
| AC-S-02 | 无权限 → 403 |
| AC-P-01 | list &lt; 500ms |
| AC-O-01 | N/A 只读 |
contract_diff: `docs/CONTRACT_DIFF/ECR-026.yaml`