feat(ECR-048): ReportTemplate 写面闭环并 Closed

growth.write POST/PUT · migration 000057 · 无新 C 端 · Loop STOP

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-13 22:51:42 +08:00
co-authored by Cursor
parent aa197b719b
commit e0f605558b
28 changed files with 915 additions and 11 deletions
+70
View File
@@ -0,0 +1,70 @@
# ECR-048 Candidate Review — GrowthInsights · ReportTemplate
> **RESOLVED 2026-08-13Human: Candidate Review → Auth/Spec/开码 → Closed):**
> 首刀 = **ReportTemplate 薄写** · **Closed** · Loop **STOP** · 禁自动 ECR-049
**Date:** 2026-08-13
**Mode:** Candidate Review **Approved** · Spec **Closed** · Coding **Closed**
**Anchors:** Next=`ECR-049`(禁自动开)· Max Migration=`000057`
## 锁定现状
| 项 | 状态 |
|----|------|
| ECR-047 | FunnelDefinition **Closed · Authorized · Pushed** · Loop **STOP** |
| ECR-038 | ReportTemplate **只读** Closed |
| `admin.growth.write` | **已存在**047 授予) |
| Continuous Loop | **STOP**047 Auth 耗尽 · **不得继承** |
| 硬 STOP | 支付 / UGC / soft-delete / Crisis·Handoff / Prompt / Knowledge / Chunk |
| ECR-008 Live Promote | **BLOCKED** |
## 八问(Candidate Review 强制)
| # | 问 | 答 |
|---|----|----|
| 1 | 做什么能力? | **ReportTemplate 薄写**`code` / `title` / `scene` / `active` |
| 2 | 为什么现在做? | GrowthInsights 只读目录写面剩 ReportTemplate;与 047 Funnel **同构**,可验证 `growth.write` 复用 |
| 3 | 是否属当前 Write-Wave | **GrowthInsights 写面续刀**(非 CMS / 非 ExploreConfig / 非 AICore |
| 4 | 风险等级? | **低–中**:目录/开关;无新 C 端路由;不改模型行为 |
| 5 | 是否需要新权限? | **否** · 复用 `admin.growth.write`047 已授) |
| 6 | 是否需要 migration | **是** · 占 **000057**(幂等确认 growth.write;与 053055 同模式) |
| 7 | 是否触碰硬 STOP | **否**(排除 Prompt/Knowledge/Chunk/支付/UGC/soft-delete/Crisis |
| 8 | 是否值得继续? | **是** · 对称收口 GrowthInsights 两表写面;Closed 后仍须 STOP |
## 概念候选
| 优先 | 概念 | 备注 |
|------|------|------|
| **★ 决议首刀** | **ReportTemplate** | 表 `report_templates`;复用 growth.write |
| ✕ 排除 | Funnel 再写 | 047 Closed · 勿回流 |
| ✕ 排除 | SystemPrompt / Knowledge / Chunk | **硬 STOP** |
| ✕ 排除 | CMS / Explore / 题干 / Live Promote | 禁 |
## 决议
**ECR-048 = GrowthInsights · ReportTemplate 薄写面**
拟议(Spec 细化):
- 复用表 `report_templates`
- 复用 `admin.growth.write`
- Admin `POST/PUT /admin/growth/report-templates*`
- 字段仅 `code` · `title` · `scene` · `active`
- `system=true`:禁止改 `code` / 物理删
- 审计 `growth.report_template.create|update`
- **无**新 C 端路由
- Migration:编码时占 **000057**
- Continuous Loop**仅**单独 Auth 且 **仅限 ECR-048**Closed → STOP · **禁自动 ECR-049**
## 硬 STOP
Prompt / Knowledge / Chunk · 支付 · UGC · soft-delete · Crisis/Handoff · 题干 · Funnel 再写 · ECR-008 Live Promote 解禁 · 继承 047 Auth · 自动下一刀
## 下一步(仍不写码)
1. ~~ECR-048 Candidate Review approve~~ **Done · ReportTemplate**
2. Human:批准 **ECR-048 专用** Write Authorization(例:`批准 ECR-048 专用 Write Auth → Spec → 开码`
3. Spec `ops-report-template-write` · ECR · BD
4. 开码口令后才改 `apps/`
**本回合交付 = Candidate Review RESOLVED;无 Spec · 无 Auth Loop · 无 `apps/`。**
+27
View File
@@ -0,0 +1,27 @@
# GrowthInsights Write Authorization — ECR-048 only
| Field | Value |
|-------|-------|
| Date | 2026-08-13 |
| Authorizer | Human |
| Status | **Approved · ECR-048 Closed · Loop STOP** |
| Scope | **ReportTemplate 薄写面 ONLY** |
| Continuous Loop | **Finished · STOP** |
| After Closed | **STOP** · 禁止自动 ECR-049 |
## Human 拍板(2026-08-13
1. Candidate Review = ReportTemplate
2. Write Auth → Spec → 开码
3. 复用 `admin.growth.write` · 字段 code/title/scene/active · 无新 C 端路由
4. Continuous Loop **仅限 ECR-048** · **不得继承 047 Auth**
## Hard STOP
Funnel 再写 · Prompt / Knowledge / Chunk · 支付 · UGC · soft-delete · Crisis/Handoff · Closed 后自动下一刀 · ECR-008 Live Promote 解禁
## Refs
Candidate Review: `ECR-048-CANDIDATE_REVIEW.md`
Spec: `.ai/product/feature-spec/ops-report-template-write.md`
ECR: `docs/ECR/ECR-048-report-template-write.md`