每账号仅一条 self(migration 40902);合盘只选 TA;账号昵称可改;首页穿衣/颜色/养生贴士。 Co-authored-by: Cursor <cursoragent@cursor.com>
3.1 KiB
3.1 KiB
ECR-011
Title: 账号昵称 · 首页每日贴士 · 档案唯一 Self / 合盘交叉校验
Status: Approved
Date: 2026-08-12
Approved: 2026-08-12(Human 确认 Approve)
Change Level: L2
Architect 分级说明
| 工作流 | 级别 | 说明 |
|---|---|---|
| A 档案唯一 Self + 合盘交叉校验 | L2(含 L1 缺陷修复) | migration 唯一索引 · API 409 · 合盘 B 约束 · Spec R7/R8/R11 |
| B 账号昵称生成/编辑 | L2 | 新行为 · PATCH /auth/me · Spec account-auth R7–R8 |
| C 首页每日贴士(穿衣/颜色/养生) | L2 | 新 API /home/daily-tips · LLM · Spec home R5–R6 |
禁止将本 ECR 拆成「无 Spec 的顺手改」继续合入 main。
过程补录: 实现曾领先于 ECR;现已 Human Approve。Closed 前须 TEST_REPORT + CODE_REVIEW + DoD;不得宣称 P1 Complete 除非 DoD PASS。
Change
- Active Spec(已改,须随本 ECR 冻结):
.ai/product/feature-spec/profile.md(R7–R8).ai/product/feature-spec/star-profile.md(R11).ai/product/feature-spec/account-auth.md(R7–R8).ai/product/feature-spec/home.md(R5–R6)
- migration
000017_unique_self_profile:软删重复 self + 部分唯一索引 - API:
PATCH /auth/me·GET /home/daily-tips· Create self → 40902 · Synastry B 须 other/附近 - H5:
ensureSelfProfile/ensureOtherProfile· 合盘只挑 other · 档案昵称卡 · 自己卡贴士 - OpenAPI · types · sdk · 单测
Motivation
- 合盘出现多个「我」、档案页只显示一条 → 数据不一致
- 解码/星盘等重复
createProfile(self)制造脏数据 - 账号需要可编辑昵称;首页「自己」卡需要节律贴士(非心情条)
Scope
Allowed
- 上列 Spec / migration / auth·home·profile·report 服务与对应 H5
- 昵称词库包
internal/nickname· 易经种子internal/yijing· daily_tips
Forbidden
- 改 ECR-010 Ops 行为 · 真支付 · 真推送 · 拆微服务 · 无 ADR 换栈
- 提交
config.local.yaml/ 密钥 /test-results/ - 扩大到紫微/达人/关系链拉取
Risk
| Risk | Mitigation |
|---|---|
| 软删「错误」self 导致报告悬挂 | 保留最新 self;报告仍挂 profile_id(软删档案下游已有规则) |
| LLM 延迟/失败 | daily-tips 本地回退;超时配置 |
| 昵称词库碰撞 | 随机即可;非唯一约束 |
| 过程补 ECR 与代码漂移 | HANDOFF 以 Spec+BD 为权威;Reviewer 对照 diff |
Acceptance Criteria
- 每账号至多 1 条 active self;再建 → 40902(handler + OpenAPI;integration 待 Postgres)
- 合盘 TA 列表无多余 self;同 id 合盘拒绝;B=本账号须 other(service)
- 注册空昵称 → 词库生成;档案可改;首页展示昵称
- 有 Self 生日 → daily-tips 可返回 llm/fallback;无恐吓/疗效承诺(Spec R6)
- OpenAPI 同步;相关 vitest / go unit PASS
ess-validate.py --phase coding --ecr ECR-011(交 Reviewer 前跑)
Trace
Spec profile · star-profile · account-auth · home · BD-2026-011 · TASK-011