feat(ECR-017): AskOperations 问答会话只读并 Closed
新增 admin.ask.read、GET /admin/ask/threads*(AskSessionView)与 admin-h5「问答」页;禁改消息/UGC/真支付。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
| Ops_Content | ExploreConfig (partial) | Shipped Ops-C |
|
||||
| Account_Risk | AccountLifecycle | Spec via ECR-013B(Identity_Profile owns UserStatus) |
|
||||
| Content_Safety | ContentSafety · CrisisCare | Draft |
|
||||
| Ask_Ops | AskOperations · AICoreConfig | Draft |
|
||||
| Ask_Ops | AskOperations · AICoreConfig | AskOperations **ECR-017**(只读);AICoreConfig Draft |
|
||||
| Ops_CMS_NoUGC | OpsCMS | Draft |
|
||||
| Community | — | **Forbidden** |
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ Status: `Draft`
|
||||
| ModerationCase | Content_Safety | ContentSafety | 后置 |
|
||||
| CrisisEvent / CrisisPolicy | Content_Safety | CrisisCare | 后置 |
|
||||
| SystemPrompt / Knowledge* / ToolDefinition | Ask_Ops | AICoreConfig | 后置 |
|
||||
| AskSessionView / QualityFeedback | Ask_Ops | AskOperations | 后置 |
|
||||
| AskSessionView / QualityFeedback | Ask_Ops | AskOperations | **ECR-017** AskSessionView 只读;QualityFeedback 后置 |
|
||||
| Banner / FeedSlot | Ops_CMS_NoUGC | OpsCMS | 后置 |
|
||||
| UGC* | Community | — | **Forbidden** |
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ UI **不出现「塔罗」**。禁止神谕吉凶、恐吓话术。
|
||||
| Phase A `[Ops]` | 登录 · 用户/订单查询 · 会员授予 · 审计 · `apps/admin-h5`(ECR-006 Closed) |
|
||||
| Phase B `[Ops]` | 行为分析:自有埋点 + 管理端「数据」看板(**ECR-007 Closed** · Spec `ops-analytics.md`) |
|
||||
| Phase C `[Ops]` | 内容:首页宫格 CRUD · 测评上下架(**ECR-008 Closed** · Spec `ops-content.md`) |
|
||||
| Phase D+ | **Contract-First**:**ECR-013A/B/014/015 Closed** → **ECR-016** UserIntelligence(Loop)。`docs/WAVE0/LOOP_AUTHORIZATION.md`。 |
|
||||
| Phase D+ | **Contract-First**:**ECR-013A/B/014/015/016 Closed** → **ECR-017** AskOperations(Loop)。`docs/WAVE0/LOOP_AUTHORIZATION.md`。 |
|
||||
| 排除 | **UGC / 社区广场**(M10.2)仍 `[No]`;真支付最后 |
|
||||
|
||||
不计入 P1 Complete;不进入五 Tab。
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
| [ops-rbac.md](ops-rbac.md) | 运营 RBAC | §7 | `admin-h5` `/me` permissions · `/admin/roles*` | Ops-D · **ECR-013A Closed** |
|
||||
| [ops-redemption-code.md](ops-redemption-code.md) | 兑换码 RedemptionCode | §7 | `admin-h5` `/codes` · `POST /membership/redeem` | Ops-D · **ECR-015 Closed** |
|
||||
| [ops-user-intelligence.md](ops-user-intelligence.md) | 用户洞察 UserIntelligence | §7 | `admin-h5` 用户详情「洞察」· `GET /admin/users/:id/insight` | Ops-D · **ECR-016 Closed** |
|
||||
| [ops-ask-operations.md](ops-ask-operations.md) | 问答运营 AskOperations | §7 | `admin-h5` `/ask` · `GET /admin/ask/threads*` | Ops-D · **ECR-017 Closed** |
|
||||
|
||||
新功能:复制 `_TEMPLATE.md` → 填满 → 在本表登记 → 再编码。
|
||||
|
||||
|
||||
@@ -213,6 +213,7 @@ Phase A 可先 `console`/本地;不挡验收。
|
||||
| **G(ECR-014 Closed)** | MembershipPlan — Spec `ops-membership-plan.md` |
|
||||
| **H(ECR-015 Closed)** | RedemptionCode — Spec `ops-redemption-code.md` |
|
||||
| **I(ECR-016 Closed)** | UserIntelligence — Spec `ops-user-intelligence.md` |
|
||||
| 后置 | AskOperations / Entitlement 细权(Loop 续跑) |
|
||||
| **J(ECR-017 Closed)** | AskOperations — Spec `ops-ask-operations.md` |
|
||||
| 后置 | Entitlement 细权 / QualityFeedback / AICoreConfig(Loop 续跑) |
|
||||
| D | 订单筛选 · 展示价 · 退款只读(另开 ECR) |
|
||||
| 后置 | 封禁加深(Account_Risk)· 推送占位 |
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# Feature Spec: AskOperations(Ops · ECR-017)
|
||||
|
||||
> Status: `Active`(Loop continuous · **ECR-017 Closed**)
|
||||
> Parent: WAVE0-FROZEN · Predecessor: ECR-016 Closed
|
||||
> Capability: `AskOperations` · BC: `Ask_Ops`
|
||||
> 授权:`docs/WAVE0/LOOP_AUTHORIZATION.md`
|
||||
|
||||
## Non-goals
|
||||
|
||||
改写/删除消息正文 · SystemPrompt/Knowledge 配置 · QualityFeedback 写回 · AICoreConfig · 真支付 · UGC
|
||||
|
||||
## L2 读模型
|
||||
|
||||
| 概念 | 语义 |
|
||||
|------|------|
|
||||
| `AskSessionView` | 线程元数据 + message_count(列表) |
|
||||
| 会话详情 | 只读消息序列(role/content/created_at) |
|
||||
|
||||
## L3 API
|
||||
|
||||
| Method | Path | 权限 | 语义 |
|
||||
|--------|------|------|------|
|
||||
| GET | `/admin/ask/threads` | `admin.ask.read` | 列表(可选 `user_id`) |
|
||||
| GET | `/admin/ask/threads/:id` | `admin.ask.read` | 详情含消息 |
|
||||
|
||||
## Migration
|
||||
|
||||
`000019`:为 `super_admin` 授予 `admin.ask.read`(无新业务表)
|
||||
|
||||
## L4 AC
|
||||
|
||||
| ID | Then |
|
||||
|----|------|
|
||||
| AC-F-01 | 有消息线程 → list 含该 thread · message_count≥1 |
|
||||
| AC-F-02 | detail 返回 user+assistant 消息 |
|
||||
| AC-S-01 | 无 Admin → 401 |
|
||||
| AC-S-02 | 无 ask.read → 403 |
|
||||
| AC-P-01 | list < 500ms 本机 |
|
||||
| AC-O-01 | N/A 只读(无写审计强制) |
|
||||
|
||||
contract_diff: `docs/CONTRACT_DIFF/ECR-017.yaml`
|
||||
Reference in New Issue
Block a user