growth.write POST/PUT · migration 000056 · 无新 C 端 · Loop STOP Co-authored-by: Cursor <cursoragent@cursor.com>
2.2 KiB
2.2 KiB
Feature Spec: GrowthInsights · FunnelDefinition 写面(Ops · ECR-047)
Status:
Active(Implemented · ECR-047 Closed)
Map:§7· Capability:GrowthInsights· BC:Analytics_OpsB
Auth:docs/WAVE0/ECR-047_WRITE_AUTHORIZATION.md(仅 ECR-047)
Predecessor: ECR-039 Closed(只读)· ECR-046 Closed
关联:ops-funnel-definition.md
1. 目标
运营可 创建 / 更新 / 上下架 FunnelDefinition(漏斗目录);写鉴权 + 审计;无新 C 端路由。
Closed 后立即 STOP,不自动 ECR-048。
2. In / Out
| In | Out |
|---|---|
Admin POST/PUT /admin/analytics/funnel-definitions* |
ReportTemplate 写 |
加法 admin.growth.write |
SystemPrompt · Knowledge · Chunk |
复用表 funnel_definitions |
soft-delete · 真支付 · UGC |
| 审计 | 题干 · Crisis/Handoff |
| 自动 ECR-048 · 新 C 端路由 |
3. Domain
| 字段 | 规则 |
|---|---|
code |
唯一;^[a-z][a-z0-9_]{1,62}$;system=true 不可改 code |
title |
必填 · ≤128 |
active |
false = 下架(唯一下架手段) |
system |
种子行;禁止物理删除 |
4. API
| Method | Path | 权限 |
|---|---|---|
| GET | /admin/analytics/funnel-definitions · /{id} |
admin.growth.read |
| POST | /admin/analytics/funnel-definitions |
admin.growth.write |
| PUT | /admin/analytics/funnel-definitions/{id} |
admin.growth.write |
无 DELETE · 无新 C 端路径。
5. Permission / Migration
- Migration
000056_ops_funnel_definition_write:授予super_admin→admin.growth.write - 编码时占号(Max=
000055→000056)
6. UI
admin-h5 漏斗定义页:列表 + 新建/编辑/上下架。
7. AC
| ID | Then |
|---|---|
| AC-F-01 | POST → list/get 可见 |
| AC-F-02 | PUT active=false → list 仍可见且 active=false |
| AC-F-03 | 重复 code → 409 |
| AC-S-01/02 | 401;仅 growth.read → POST 403 |
| AC-A-01 | 写产生审计 |
| AC-O-01 | 无 soft-delete · 无 ReportTemplate/Prompt 写路径 |
8. Closed 后
立即 STOP。ECR-048 须新 Candidate Review + Human 拍板。
9. Trace
ECR-047 · BD-2026-047 · CONTRACT_DIFF · ECR-047_WRITE_AUTHORIZATION