feat(ECR-016): UserIntelligence 用户洞察只读切片并 Closed

聚合 GET /admin/users/:id/insight(报告类型/派生标签/行为快照),admin-h5 洞察 Tab;无 migration / 无 UGC / 无真支付。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-07 18:31:06 +08:00
co-authored by Cursor
parent 1afda1d389
commit 61ae3b0451
27 changed files with 807 additions and 115 deletions
+1
View File
@@ -25,6 +25,7 @@
| [ops-content.md](ops-content.md) | 运营内容(宫格+测评上下架) | §7 | `admin-h5` `/content` · `GET /home/tools` | Ops-C · ECR-008 Closed |
| [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** |
新功能:复制 `_TEMPLATE.md` → 填满 → 在本表登记 → 再编码。
+3 -1
View File
@@ -211,6 +211,8 @@ Phase A 可先 `console`/本地;不挡验收。
| **EECR-013A Closed** | Admin RBAC — Spec `ops-rbac.md` · Parent WAVE0-FROZEN |
| **FECR-013B Closed** | AccountLifecycle — Spec `ops-account-lifecycle.md` |
| **GECR-014 Closed** | MembershipPlan — Spec `ops-membership-plan.md` |
| 后置 | RedemptionCode / UserIntelligence / Entitlement 细权(Loop 续跑) |
| **HECR-015 Closed** | RedemptionCode — Spec `ops-redemption-code.md` |
| **IECR-016 Closed** | UserIntelligence — Spec `ops-user-intelligence.md` |
| 后置 | AskOperations / Entitlement 细权(Loop 续跑) |
| D | 订单筛选 · 展示价 · 退款只读(另开 ECR) |
| 后置 | 封禁加深(Account_Risk)· 推送占位 |
@@ -0,0 +1,39 @@
# Feature Spec: 用户洞察 UserIntelligenceOps · ECR-016
> Status: `Active`Loop continuous · **ECR-016 Closed**
> Parent: WAVE0-FROZEN · Predecessor: ECR-015 Closed
> Capability: `UserIntelligence` · BC: `Identity_Profile`(读)+ `Analytics_OpsB`(读)
> 授权:`docs/WAVE0/LOOP_AUTHORIZATION.md`
## Non-goals
写标签 · 改报告正文 · Ask 全文运营编辑 · UGC · 真支付 · 新表(本切片纯读模型聚合)
## L2 读模型(无 migration
| 概念 | 来源 |
|------|------|
| `UserProfileView` | profiles 摘要(已有 detail |
| `InsightReport` | growth_reports 类型计数 + 最近列表 |
| `PsychologicalTagSet` | 由报告 type 派生的稳定标签(非 NLP) |
| `BehaviorSnapshot` | analytics_events 最近页面/事件(若有) |
## L3 API
| Method | Path | 权限 | 语义 |
|--------|------|------|------|
| GET | `/admin/users/:id/insight` | `admin.users.read` | 聚合洞察只读 |
## L4 AC
| ID | Then |
|----|------|
| AC-F-01 | 有报告用户 → insight.reports_by_type 非空或 reports 列表 |
| AC-F-02 | tags 含报告类型映射标签 |
| AC-F-03 | 无埋点时 behavior.events=[] 仍 200 |
| AC-S-01 | 无 Admin → 401 |
| AC-S-02 | 无 users.read → 403 |
| AC-P-01 | GET insight &lt; 500ms 本机 |
| AC-O-01 | N/A 只读(无写审计) |
contract_diff: `docs/CONTRACT_DIFF/ECR-016.yaml`