# ENGINEERING_SPEC — ECR-012 星座对齐收口 权威设计:`docs/BACKEND_DESIGN/BD-2026-012-star-alignment.md` 产品:`.ai/product/feature-spec/star-profile.md` · `docs/PRODUCT_SPEC/ECR-012-star-alignment.md` ## Implement order 1. **Spec 修订**(可与代码同 PR,但语义先冻结 Gaps):`star-profile.md` §12 措辞 · §14 Gaps · 指向 ECR-012 2. **盘点确认 G5**:分享类型;确认后改 `useStarProfilePage` sharePayload 3. **H5 卫生**:去掉对 `lucky` 的类型依赖;`fortuneBundleFrom` 仅读 `outlook`;组件文件名可保留或渐进改名(不必强行大挪文件) 4. **报告页对齐**:`ReportStarPanel` 运势展示对齐主页字段(可抽共享小组件,注意 ≤400 行/文件) 5. **(按需)后端**:仅当 summary 缺键或 detail 裁剪偏离 Spec 时改 `internal/star`;**默认无 migration** 6. **OpenAPI**:补强 star/synastry 响应描述或 `$ref`(若现偏薄) 7. **测试**:integration 断言保持;H5 spec;e2e mock 补 outlook 最小集;禁用词扫描覆盖合盘 8. **文档收口**:P2-BACKLOG · feature-map · TRACEABILITY · STATE · CHANGELOG ## Constraints - 函数 ≤50 行 · 文件 ≤400 行 - UI → `@yuxingu/sdk` → Handler → Service → Repository - 不引入新星历依赖;不改 Whole Sign / 热带设定(无 ADR) - 不接真支付;深度版继续 pay-mock - 不提交 `config.local.yaml` / 密钥 - lexicon:禁止占卜/算命恐吓;允许运势分与合盘指数 ## Done when ECR Acceptance 全勾 + `.ai/definition-of-done.md` Review Report + `ess-validate --phase review`(Approved 实现后)