# CHANGELOG — ESS process artifacts ## 2026-08-13 - **ECR-046 Closed:** ScaleDefinition 元数据薄写(`explore.write` POST/PUT · create→draft · status 仍 ECR-008 · migration `000055`)· **Loop STOP** · 禁自动 ECR-047 · 无题干编辑 - **ECR-046 Candidate Review Approved:** 首刀 = **ScaleDefinition 元数据薄写**(slug/title/description;create→draft)· **status 仍独占 ECR-008** · Spec/Loop/Coding **未开** · Auth 草案 PENDING - **ECR-046 Candidate Review DRAFT:** 推荐 ExploreConfig 写面波次 **STOP**;慎选 ScaleDefinition(须相对 ECR-008 增量);禁 Prompt/Knowledge/Chunk · 待 Human 拍板 - **ECR-045 Closed:** ExploreConfig ImageCardDeck 薄写面(复用 `admin.explore.write` · POST/PUT · `GET /cards/decks` · `/cards` 空态/失败回退 · migration `000054` · **无牌面编辑**)· **Loop STOP** · 禁自动 ECR-046 - **ECR-045 Candidate Review Approved:** 首刀 = **ImageCardDeck**(不预设 SystemPrompt;禁牌面内容编辑)· Spec/Loop/Coding **未开** · Auth 草案 PENDING - **ECR-044 Closed:** ExploreConfig RhythmConfig 薄写面(复用 `admin.explore.write` · POST/PUT · `GET /rhythm/configs` · `/rhythm` 空态/失败回退 · migration `000053`)· **Continuous Loop STOP** · 禁自动 ECR-045 - **ECR-044 Candidate Review Approved:** 首刀 = **RhythmConfig**(不预设 SystemPrompt)· Spec/Loop/Coding **未开** · Auth 草案 PENDING - **ECR-043 Closed:** ExploreConfig StarConfig 薄写面(`admin.explore.write` · POST/PUT · `GET /star/configs` · `/star` 空态/失败回退 · migration `000052`)· **Continuous Loop STOP** · 禁自动 ECR-044 - **ECR-043 Spec Ready:** StarConfig 薄写面(Human 批准 Loop 仅 043)· Coding NOT STARTED · Closed 后禁自动 044 - **ECR-043 Candidate Review 收口:** 首刀 StarConfig;非 SystemPrompt - **ECR-042 Closed:** OpsCMS FeedSlot 薄写面(复用 `admin.cms.write` · `GET /home/feed-slots` · 首页槽位显隐)· 无新 migration - **ECR-041 Closed:** OpsCMS Banner 薄写面(`admin.cms.write` · `GET /home/banners` · 首页投影回退 · migration `000051`)· Write-Wave 首刀;未做 FeedSlot - **Write-Wave 开启:** `docs/WAVE0/WRITE_WAVE_AUTHORIZATION.md` · Continuous Loop 限定写面边界 - **仓侧治理最小补丁(非 ESS 内核):** `scripts/repo-governance-check.py`;TRACEABILITY **Next ECR=`ECR-042`** · **Max Migration=`000051`** - **Migration 撞号修复:** `000015`–`000023` 双文件冲突已重编号为唯一序列至 `000050`;说明见 `docs/MIGRATION_RENUMBER.md` - **Merge:** `merge/ops-local-into-main` — 合并本地 Ops 目录扩展(ECR-013A…040)与远程 main(ECR-009…016) 注意:分叉期间 ECR-012/014/015/016 编号在两边含义不同,以 TRACEABILITY 双列说明为准 - **Git host:** 远程改为 `https://git.jackyu66.com/jack/digital-psychology.git`;删除 `.github/workflows`(不再使用 GitHub Actions) - **ECR-016 Closed(RETRO · main):** MBTI OEJTS lite/full · 自主 Loop - **ECR-015 Closed(RETRO · main):** 头像 · CODE_REVIEW Approve - **ECR-014 Closed(RETRO · main):** 时效刷新 FE/BE · CODE_REVIEW Approve - **ECR-013 Closed(main):** 探索 curated 题库 A 集 · R8 回看 · OpenAPI `/scale-bank/*` - **ECR-012 Closed(main):** 文字输入合规 textsafe / 40060 · CODE_REVIEW Approve - **ESS 0.2.0-intake FROZEN / Intake G0** ## 2026-08-12 - **ECR-011 Closed**:integration TestECR011 PASS;CODE_REVIEW Approve - **ECR-011 Implemented**:昵称 · 首页 daily-tips · Self 唯一/合盘交叉校验 ## 2026-08-08 - **Ops hardening(code review · stash):** Ask transcript 分权 + 审计;catalog≠个案;量表读权限;feedback 归属校验;Funnel→`growth.read`;catalog LIMIT;admin-h5 目录文案 - **ECR-040…021 Closed(local Ops loop):** ExploreConfig / GrowthInsights / Crisis / CMS / AI / Safety 只读目录扩展 ## 2026-08-07 - **ECR-020…013A Closed(local):** QualityFeedback · ContentSafety · Entitlement · AskOps · UserIntelligence · Redemption · MembershipPlan · AccountLifecycle · Admin RBAC · WAVE0 FREEZE - **ECR-012(local · 星座对齐)Implemented** — 与 main 线 ECR-012(合规)编号冲突,见 TRACEABILITY - **ECR-009 Implementing(main):** Ops-D 订单筛选 · 展示价 · 退款只读 - **ECR-007/008 Closed / P1 修复** ## 2026-08-07 (continued from pre-merge) - **ECR-008 P1 修复**:审计同事务 · 宫格 move 保留 row_index · Analytics nil 守卫 - **ECR-008 Implemented**:Ops-C 首页宫格 CMS + 测评上下架 migration `000014` · `/home/tools` · admin「内容」· TEST_REPORT/CODE_REVIEW - **ECR-008 Approved**(Human):Ops-C 进入 implement BD-2026-008 Approved · Feature Spec Active · TASK ready - **ECR-008 Draft**:运营内容 Ops-C(首页宫格 CRUD · 测评上下架) 工件:Spec `ops-content.md` · PRODUCT/ENGINEERING/BACKEND_DESIGN · HANDOFF · TASK · STATE 门禁:待 Human Approve 后方可编码 - **ECR-007 Implemented**:Ops-B analytics ingest + admin「数据」看板 migration `000013` · POST `/analytics/events` · GET `/admin/analytics/*` · H5 队列 · admin-h5 `/analytics` TEST_REPORT / CODE_REVIEW PASS · STATE phase=review - **ECR-007 Approved**(Human):运营行为分析 Ops-B 进入 implement BD-2026-007 Approved · Feature Spec Active · TASK ready · STATE owner=engineer - **ECR-007 Draft**:运营行为分析 Ops-B(自有埋点 + admin 数据看板) 工件:Feature Spec `ops-analytics.md` · PRODUCT/ENGINEERING/BACKEND_DESIGN · HANDOFF · TASK · STATE · TRACEABILITY ## 2026-08-06 ## 2026-08-06 - ESS 升级后接入 `docs/BACKEND_DESIGN/`(BACKEND_STANDARD 闭环) - **ECR-006** Closed:运营后台 Phase A(Spec `ops-admin` · BD-2026-006 · admin API + admin-h5) ## 2026-08-05 - Bind ESS v1.0(`--bind-only`):`docs/` 流程目录 + script wrappers - Dual-track:产品/DoD 仍以 `.ai/` 为准;ECR/Task/Handoff 走 `docs/` - 纠正脚手架默认栈(非 Python/React)为 Go + Vue3 - **ECR-001** Approved:结构对齐(否决全仓重写);ADR-0007;HANDOFF → engineer - **ECR-001 Phase B**:拆分 `HomePage` / `SynastryPage`(≤400 行);build + homeCatalog 单测绿 - **ECR-001 Phase A/C/D/E + ECR-002**:membership 服务抽出;relation/star 引擎拆文件;`star/fortune`→`outlook`(JSON 双写);integration 绿 - H5:`/psy` baseURL + vite `/psy/api` 代理;首页 + 菜单 z-index 修复 - **ECR-001 Phase F + H5**:types/sdk 对齐 OpenAPI;拆分 8 个超标页(均 ≤400);test:h5 35/35 绿 - QA:修 Playwright `/psy/` 路径与过时断言;e2e 2/2 绿(见 TEST_REPORT/ECR-001-phaseF-qa.md) - **ECR-001 Closed**;**ECR-002 Closed**;**ECR-003**:删 JSON `fortune` 双写,`lucky`→`boost`,H5 改读 `outlook` - **ECR-004**:Synastry 再拆 · Scale vitest · Membership nil 守卫 · OpenAPI schemas · GitHub CI - **ECR-005**:Ask/Decode/Portrait/Report/Star/Profile 再拆;OpenAPI 关键 path `$ref`