# ECR-047 Candidate Review — GrowthInsights · FunnelDefinition > **RESOLVED 2026-08-13(Human: Candidate Review → Auth/Spec/开码 → Closed):** > 首刀 = **FunnelDefinition 薄写** · **Closed** · Loop **STOP** · 禁自动 ECR-048 **Date:** 2026-08-13 **Mode:** Candidate Review **Approved** · Spec **Closed** · Coding **Closed** **Anchors:** Next=`ECR-048`(禁自动开)· Max Migration=`000056` ## 锁定现状 | 项 | 状态 | |----|------| | ECR-041–042 | CMS 写面 **Closed** · STOP | | ECR-043–046 | ExploreConfig 同构写面 **Closed** · STOP | | ECR-038 | ReportTemplate **只读** · **本刀不做** | | ECR-039 | FunnelDefinition **只读** · 本刀写面增量 | | ECR-008 Live Promote | **BLOCKED** | | Continuous Loop | **STOP**(046 耗尽 · 不得继承) | | 硬 STOP | 支付 / UGC / soft-delete / Crisis·Handoff / Prompt / Knowledge / Chunk | ## 决议 **ECR-047 = GrowthInsights · FunnelDefinition 薄写面** 拟议(Spec 细化): - 复用表 `funnel_definitions` - 加法权限 `admin.growth.write`(授予 super_admin) - Admin `POST/PUT /admin/analytics/funnel-definitions*` - 字段仅 `code` · `title` · `active`(与只读表对齐) - `system=true` 种子行:允许改 title/active;**禁止**改 `code` / 物理删(Spec 锁死) - 审计 `growth.funnel_definition.create|update` - **无**新 C 端路由 - Migration:编码时占 **000056** - Continuous Loop:**仅**单独 Auth 且 **仅限 ECR-047**;Closed → STOP · **禁自动 ECR-048** ## 硬 STOP ReportTemplate 同 ECR · Prompt / Knowledge / Chunk · 支付 · UGC · soft-delete · Crisis/Handoff · 题干 · ECR-008 Live Promote 解禁 · 自动下一刀 ## 下一步(仍不写码) 1. ~~Candidate Review approve · FunnelDefinition~~ **Done** 2. Human:批准 **ECR-047 专用** Write Authorization 3. Spec `ops-funnel-definition-write` · ECR · BD 4. 开码口令后才改 `apps/` **本回合交付 = Candidate Review RESOLVED;无 Spec · 无 Auth Loop · 无 `apps/`。**