feat(ECR-025): OpsCMS FeedSlot 只读并 Closed

栏目位目录(ops_feed_slots + /cms),复用 admin.cms.read。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-08 03:08:40 +08:00
co-authored by Cursor
parent f51b2524c5
commit e32466357d
26 changed files with 661 additions and 4 deletions
+41
View File
@@ -0,0 +1,41 @@
# Feature Spec: OpsCMS · FeedSlotOps · ECR-025
> Status: `Active`Loop continuous · **ECR-025 Closed**
> Parent: WAVE0-FROZEN · Predecessor: ECR-024 Closed
> Capability: `OpsCMS` · BC: `Ops_CMS_NoUGC`
> 授权:`docs/WAVE0/LOOP_AUTHORIZATION.md`
## Non-goals
FeedSlot 写发布 · ScheduledPublication · UGC · 真支付 · Banner 写
## L2 Domain
| 概念 | 语义 |
|------|------|
| `FeedSlot` | 本切片只读目录;code 唯一(若适用) |
## L3 API
| Method | Path | 权限 | 语义 |
|--------|------|------|------|
| GET | `/admin/cms/feed-slots` | `admin.cms.read` | 只读 |
| GET | `/admin/cms/feed-slots/{id}` | `admin.cms.read` | 只读 |
## Migration
`000026`:表 + 种子(若有)(权限复用)
## 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-025.yaml`