feat(ECR-029): ContentSafety BlockPolicy 只读并 Closed

BlockPolicy catalog (000030) · Loop continuous.
This commit is contained in:
jackyu66git
2026-08-08 03:14:45 +08:00
parent e6740a0326
commit 5846d39d97
25 changed files with 457 additions and 1 deletions
+1
View File
@@ -38,6 +38,7 @@
| [ops-scheduled-publication.md](ops-scheduled-publication.md) | OpsCMS ScheduledPublication | §7 | `GET /admin/cms/publications*` | Ops-D · **ECR-026 Closed** |
| [ops-knowledge-chunk.md](ops-knowledge-chunk.md) | AICoreConfig KnowledgeChunk | §7 | `GET /admin/ai/knowledge-chunks*` | Ops-D · **ECR-027 Closed** |
| [ops-tool-definition.md](ops-tool-definition.md) | AICoreConfig ToolDefinition | §7 | `GET /admin/ai/tools*` | Ops-D · **ECR-028 Closed** |
| [ops-block-policy.md](ops-block-policy.md) | ContentSafety BlockPolicy | §7 | `GET /admin/content-safety/block-policies*` | Ops-D · **ECR-029 Closed** |
新功能:复制 `_TEMPLATE.md` → 填满 → 在本表登记 → 再编码。
@@ -0,0 +1,41 @@
# Feature Spec: ContentSafety · BlockPolicyOps · ECR-029
> Status: `Active`Loop continuous · **ECR-029 Closed**
> Parent: WAVE0-FROZEN · Predecessor: ECR-028 Closed
> Capability: `ContentSafety` · BC: `Content_Safety`
> 授权:`docs/WAVE0/LOOP_AUTHORIZATION.md`
## Non-goals
策略写发布 · 用户侧硬拦截上线 · UGC · 真支付
## L2 Domain
| 概念 | 语义 |
|------|------|
| `BlockPolicy` | 本切片只读目录;code 唯一(若适用) |
## L3 API
| Method | Path | 权限 | 语义 |
|--------|------|------|------|
| GET | `/admin/content-safety/block-policies` | `admin.content_safety.read` | 只读 |
| GET | `/admin/content-safety/block-policies/{id}` | `admin.content_safety.read` | 只读 |
## Migration
`000030`:表 + 种子(若有)(权限复用)
## 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 < 500ms |
| AC-O-01 | N/A 只读 |
contract_diff: `docs/CONTRACT_DIFF/ECR-029.yaml`