# ECR-046 Candidate Review — ExploreConfig · ScaleDefinition > **RESOLVED 2026-08-13(Human: Candidate Review → Auth/Spec/开码 → Closed):** > 首刀 = **ScaleDefinition 增量写** · **Closed** · Loop **STOP** · 禁自动 ECR-047 **Date:** 2026-08-13 **Mode:** Candidate Review **Approved** · Spec **Closed** · Coding **Closed** **Anchors:** Next=`ECR-047`(禁自动开)· Max Migration=`000055` ## 锁定现状 | 项 | 状态 | |----|------| | ECR-041–045 | **CLOSED** · origin/main 齐平(至 045) | | ECR-008 | `PATCH /admin/scales/:id` · `admin.content.write` · **仅 status** · Live Promote **BLOCKED** | | ECR-040 | Explore scales **只读**(`explore.read` / `content.write`) | | Continuous Loop | **STOP**(045 Auth 耗尽) | | 硬 STOP | 支付 / UGC / soft-delete / Crisis·Handoff / Prompt / Knowledge / Chunk | ## 相对 ECR-008 的增量边界(强制 · Spec 不得偏离) | 归属 | API | 权限 | 字段 | |------|-----|------|------| | **ECR-008(保持)** | `PATCH /admin/scales/{id}` | `admin.content.write` | **仅** `status` ∈ {published, draft} | | **ECR-046(新增)** | `POST/PUT /admin/explore/scales*` | `admin.explore.write` | **仅** `slug` · `title` · `description`(创建默认 `status=draft`) | **禁止:** - 在 explore 写路径改 `status`(避免双通道) - 题干 / `scale_questions` CRUD - `deleted_at` soft-delete - 新建权限子系统 ## 决议 **ECR-046 = ExploreConfig · ScaleDefinition 元数据薄写面** 拟议(Spec 细化): - 复用表 `scales` - 复用 `admin.explore.write` - 审计 `explore.scale_definition.create|update` - C 端:继续依赖 `status=published` 供给(由 ECR-008 PATCH 控制);本刀可观察点 = admin 可创建/改元数据且 **不**绕过 content 上下架 - Migration:编码时占 **000055**(幂等确认 explore.write) - Continuous Loop:**仅**单独 Auth 且 **仅限 ECR-046**;Closed → STOP · 禁自动 ECR-047 ## 硬 STOP Prompt / Knowledge / Chunk · 支付 · UGC · soft-delete · Crisis/Handoff · 题干编辑 · 重复 status PATCH · ECR-008 Live Promote 解禁 · 自动下一刀 ## 下一步(仍不写码) 1. ~~Candidate Review approve · ScaleDefinition~~ **Done** 2. Human:批准 **ECR-046 专用** Write Authorization 3. Spec `ops-scale-definition-write` · ECR · BD(必须含上表增量矩阵) 4. 开码口令后才改 `apps/` **本回合交付 = Candidate Review RESOLVED;无 Spec · 无 Auth Loop · 无 `apps/`。**