feat(ECR-012): 星座对齐收口,并 Closed ECR-007/008
对齐 outlook/分享 type=star/报告页运势面板与测试;流程上关闭 Ops-B/C 两张 ECR。真支付仍后置。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
# Backend Design: ECR-012 星座对齐收口
|
||||
|
||||
> Architect 产出;Engineer 只消费本文件。
|
||||
> 实现纪律:`$ESS_ROOT/technology-governance/BACKEND_STANDARD.md`
|
||||
> 项目分层权威:`.ai/architecture.md`
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| ID | BD-2026-012 |
|
||||
| ECR | ECR-012 |
|
||||
| Change Level | L2 |
|
||||
| Status | Approved |
|
||||
| Approved | 2026-08-07(Human) |
|
||||
| Author | Architect |
|
||||
| Date | 2026-08-07 |
|
||||
| Risk | Low |
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
- 问题 / 目标:星座/合盘主路径已落地,需 Spec 对齐、H5/报告页一致、测试加厚;默认 **不改表结构**。
|
||||
- 非目标:真支付、新模块、换星历、Ops。
|
||||
- 相关 Spec:`star-profile.md`;前序 ECR-003(fortune→outlook)。
|
||||
|
||||
## Architecture Change
|
||||
|
||||
- 是否改变分层边界:**No**
|
||||
- 受影响层:Application(`internal/star` 仅按需)· API 文档 · UI(user-h5)
|
||||
|
||||
## Module Changes
|
||||
|
||||
| Module | Layer | Change | Must NOT |
|
||||
|--------|-------|--------|----------|
|
||||
| `internal/star` / `outlook` / `synastry` | Domain/App | 仅修偏离 Spec 的 summary/detail 键或文案 | 新表;换 ephemeris |
|
||||
| `handler` reports/synastry | API | 契约不变则不动;OpenAPI 描述可补 | Handler SQL |
|
||||
| `user-h5` star/synastry/report | UI | 对齐面板、卫生、分享、测试 | 直连 DB;真支付 |
|
||||
| packages/types · sdk | Shared | 仅当 OpenAPI/DTO 需同步 | 发明新领域同义词 |
|
||||
|
||||
## Data Flow
|
||||
|
||||
```text
|
||||
Profile(birth*)
|
||||
→ POST /reports/star | /reports/synastry
|
||||
→ star engine / synastry.BuildReport
|
||||
→ GrowthReport summary(outlook, charts, …) + gated detail
|
||||
→ H5 StarProfilePage | Synastry* | ReportPage
|
||||
→(可选)pay-mock deep_access → detail 可见
|
||||
```
|
||||
|
||||
## API Changes
|
||||
|
||||
- 契约:`proto/openapi.yaml`
|
||||
- 变更:**默认 None**(路径与语义保持);允许描述/`$ref` 补强
|
||||
- 兼容:禁止重新引入 summary.`fortune`
|
||||
|
||||
## Database Changes
|
||||
|
||||
- 表 / 字段:**无**
|
||||
- Migration Required:**NO**
|
||||
|
||||
## Migration Plan
|
||||
|
||||
- Required:NO
|
||||
- 回滚:代码回滚即可
|
||||
|
||||
## Failure Handling
|
||||
|
||||
- 无档案 / 缺生日:Empty 表单(现有)
|
||||
- detail 无权益:服务端剥离(现有,须保持测试)
|
||||
- 旧报告缺 outlook:H5 空态,不伪造 fortune
|
||||
|
||||
## Test Plan
|
||||
|
||||
- Unit:outlook bundle keys;H5 fortuneBundleFrom
|
||||
- Integration:`TestFlowStarDeepAccess` · synastry charts keys · 禁用词
|
||||
- E2E:p2 star 路径 mock 含 outlook
|
||||
|
||||
## Rollback Plan
|
||||
|
||||
- git revert 本 ECR;无数据迁移
|
||||
|
||||
---
|
||||
|
||||
## Backend Change Boundary
|
||||
|
||||
```text
|
||||
Change Level: L2
|
||||
Change: star/synastry Spec alignment (mostly H5 + tests; optional star package hygiene)
|
||||
|
||||
Affected:
|
||||
Domain: StarProfile / Synastry (existing)
|
||||
Application: internal/star* (optional)
|
||||
Infrastructure: none (no migration)
|
||||
API: OpenAPI docs only (default)
|
||||
Migration: Not required
|
||||
Tests: integration + H5 + e2e
|
||||
Risk: Low
|
||||
```
|
||||
|
||||
## Architecture Regression Check
|
||||
|
||||
- [ ] 无 Handler 直连 DB
|
||||
- [ ] 不改鉴权面
|
||||
- [ ] 未引入非默认中间件 / 新星历依赖
|
||||
- [ ] 未简化分层
|
||||
- [ ] 无 summary.`fortune` 回归
|
||||
Reference in New Issue
Block a user