# ENGINEERING_SPEC — ECR-003 Outlook JSON Hygiene ## Related | Doc | Link | |-----|------| | ECR | `docs/ECR/ECR-003-outlook-json-hygiene.md` | | Parent | ECR-002 Closed · ECR-001 residual | | Coding | `.ai/coding.md` · `.ai/architecture/go-services.md` | ## Module Design | 项 | 值 | |----|-----| | Responsibility | 去掉 fortune 兼容双写;lucky→boost;H5 跟读 | | Can | 改 summary/detail map 键;改 Period 字段 json tag;改 H5 读键与文案标签 | | Cannot | 改 seed 计分;改路由 | | Layer | `apps/api/internal/star` · `apps/user-h5` composables/components | ## Steps 1. `outlook.Period.Lucky` → `Boost` · `periodMap` 写 `boost`;`luckyFrom`→`boostFrom` 2. `scoreLabel`:大吉/吉/中平偏吉/需谨慎 → 高能/顺畅/偏顺/宜缓行(平稳保留) 3. `engine.go`:只写 `outlook`/`outlook_detail`;`m := fort.AsMap()` 复用 4. H5:`summary.outlook`;面板展示 `boost`;文案「今日提示」 5. 更新 star engine / outlook / StarProfile specs ## Test Plan ```bash cd apps/api && go test ./internal/star/... -count=1 npm run test:h5 npm run test:e2e -w @yuxingu/user-h5 ```