Files
digital-psychology/docs/CODE_REVIEW/ECR-001-phaseB.md
T
jackyu66gitandCursor 19d3cd5945 refactor(ECR-001): 接入 ESS 并完成结构对齐 Phase A–E
绑定 ESS 双轨治理,拆分超大 H5 页与 Go 引擎,抽出 membership 服务,
并将 star/fortune 重命名为 outlook(JSON 双写兼容);同时修复 /psy API 代理与首页 + 菜单层级。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 17:51:40 +08:00

1.8 KiB
Raw Blame History

CODE_REVIEW — ECR-001 Phase B

Reviewer: Cursor Agent (REVIEWER)
Date: 2026-08-05
Decision: PASS(带人工冒烟)

Evidence

Check Result
Scope 仅 Phase BHome/Synastry 拆分) PASS
无 API / OpenAPI / schema 变更 PASS
页面行数 ≤400 Home 133 · Synastry 187 PASS
BirthDateInputs 绑定与组件 API 一致 PASSyear/month/day + update:*
build:h5 PASS(先轮)
homeCatalog 单测 PASS
行为冻结 逻辑迁入 composable,未见故意改文案/路由

Nits(不阻断)

  1. SynastryPagev-else-if="loading"!report 时不可达——与重构前一致,landing 按钮文案承担 loading。
  2. Synastry props/emits 面偏宽;后续可改为注入 composable 或 provide(非本 Phase)。
  3. useSynastryPage 390 行贴近上限,Phase 后续可再抽 chart helpers。

Smoke(本会话)

结果
API healthz PASS
Home UI(心情卡/金刚区/推荐) PASS · 截图 /tmp/yuxingu-smoke/home.png
Synastry UI 结构 PASS
Synastry listProfiles BLOCKED initiallybaseURL=/psy/api 但 Vite 只代理 /api,返回 HTML 200

Fix appliedreview 中发现,非 Phase B 引入)

  1. vite.config.tsbase: '/psy/' + /psy/api8080/api rewrite
  2. client.tsbaseURL 从错误的 /psy/api 改为 /psySDK 路径已含 /api/v1,避免 /psy/api/api/v1

冒烟后再验:GET /psy/api/v1/profiles → 200 JSON;合盘页无「接口返回异常」。

Risk

低(拆分本身)。代理缺口已修;合盘需至少两档案才可生成结果。

Gate

  • Ready for local smoke
  • Human/agent smoke:首页 OK;合盘页 UI OK(代理已修)
  • Decision PASS