Files
digital-psychology/docs/ECR/ECR-012-star-alignment.md
T
jackyu66gitandCursor d33c8fdfe9 feat(ECR-012): 星座对齐收口,并 Closed ECR-007/008
对齐 outlook/分享 type=star/报告页运势面板与测试;流程上关闭 Ops-B/C 两张 ECR。真支付仍后置。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 15:48:19 +08:00

81 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ECR-012
**Title:** 星座对齐收口(星盘 · 运势 outlook · 合盘)
**Status:** Approved
**Date:** 2026-08-07
**Approved:** 2026-08-07Human
**Change Level: L2**(可见体验/契约文档对齐;栈与分层不变)
## Change
在已有 P2 星座/合盘实现上做 **Spec ↔ 实现对齐收口**(非真支付、非新探索模块):
1. 修订 Active Feature Spec`.ai/product/feature-spec/star-profile.md`Gaps · §12 用词 · Implementation Notes
2. H5`/star` · `/reports/:id`(type=star) · `/synastry*` 体验与文案对齐 Spec §5–12
3. 清理 ECR-003 残留:类型/组件内 `lucky` 字段、内部仍混用的 `fortune` JSON 读路径(**用户可见 Tab 文案「运势」保留**)
4. 报告页星座面板与星座主页运势信息密度对齐(dims / boost / caution / 日–一生)
5. 补强测试:integration/H5/e2e 对 outlook · 轮盘 · 合盘五主盘键的断言;lexicon 禁用词扫描覆盖合盘路径
6. 更新 `feature-map` / `P2-BACKLOG`:星座由「对齐中」→ 本 ECR Closed 后标 Done
## Motivation
P2-BACKLOG 已写「星盘/运势/合盘对齐中」:主路径可跑,但 Spec 验收措辞、报告页与主页体验、H5 命名卫生与 e2e mock 偏薄,导致无法宣称星座模块 Feature Complete。
## Scope
### Allowed
- 上列 Spec / H5 /(必要时)`internal/star` 文案或 summary 键卫生 · OpenAPI 描述补强
- 埋点:保持 `portrait_completed{source:star}` 与 Spec「`star_completed` / portrait_completed source=star」等价;若补 `star_completed` 别名须同步 analytics 白名单
- 分享:星座结果分享 payload 类型/标题与 lexicon 一致(若现用 `portrait` 类型属偏差则修正)
- TRACEABILITY · STATE · TEST_REPORT · CODE_REVIEW · CHANGELOG
### ForbiddenNon-goals
- **真支付网关**(支付仍 mock;另开 ECR,排期最后)
- 微信 OAuth / 短信 OTP · 原生分享 SDK · 短链服务
- 达人 / 消息 / UGC / 独立运势 Feed
- 换星历引擎、改宫位制(Whole Sign 冻结)、新表 migration(本 ECR **默认无 migration**
- 身心节律 / 意象卡片 / Ops-D+ / 小程序业务
## Risk
| Risk | Mitigation |
|------|------------|
| 改 Tab 内部 key 破坏深链 | 用户可见「运势」不变;URL/query 变更须兼容或写清迁移 |
| 过度改 JSON 破坏旧报告 | 只读 `outlook`;禁止写回 `fortune`;旧库报告无 outlook 时 H5 降级空态 |
| 文案踩 lexicon | 合盘免责已有;扫「占卜/算命」恐吓;允许运势分与匹配指数 |
| 范围膨胀成内容大修 | 深度版长文「明显缺段」才补;不重写整包星盘文案库 |
## Acceptance Criteria
- [x] Spec `star-profile.md` §12 用例可映射到测试;§14 Gaps 反映本 ECR 收口结果
- [x] `/star`Empty 生日表单 → Normal(轮盘 + outlook 日/周/月/年/一生 + 行运)+ Locked 深度墙;无禁用恐吓词
- [x] `/reports/:id` type=star:运势面板信息密度不低于主页基础层(score/label/tip + dims 或显式降级说明)
- [x] `/synastry`:三指数 + `charts` 五主盘 + 三推运 key 可见(无权益时 detail 剥离)
- [x] JSON summary **无** `fortune` 键;H5 **不读** `lucky`
- [x] Integration`TestFlowStarDeepAccess` + synastry charts 键保持绿;必要时增补断言
- [x] H5 单测 / e2ep2 star 路径)mock 含 outlook 最小字段
- [x] OpenAPI / TRACEABILITY / STATE / TEST_REPORTCODE_REVIEW 待 Reviewer
- [ ] `python3 scripts/ess-validate.py --phase review --ecr ECR-012`Reviewer
- [x] Docs + CHANGELOGP2-BACKLOG 星座行更新
## Rollback
- 回滚本 ECR 提交;不涉及 DB down migration
- 若仅文档 Closed 前中止:将 STATE 标 Rejected / 搁置
## Risk Review
- Path: N/A(非交易)
## Linked
- Feature Spec: `.ai/product/feature-spec/star-profile.md`
- PRODUCT_SPEC: `docs/PRODUCT_SPEC/ECR-012-star-alignment.md`
- ENGINEERING_SPEC: `docs/ENGINEERING_SPEC/ECR-012-star-alignment.md`
- BACKEND_DESIGN: `docs/BACKEND_DESIGN/BD-2026-012-star-alignment.md`BD-2026-012
- HANDOFF / TASK / STATE:同号前缀
- 前序:ECR-003 outlook 卫生 · ECR-004/005 拆分 · P2 星座已落地
- 明确后置:真支付 ECR(最后)