refactor(ECR-005): 再拆 Ask/Decode/Portrait 与 composable,补强 OpenAPI
压低贴线 SFC/composable;报告/档案/量表/意象卡 path 挂 Envelope $ref;CI ESS 门禁跟到 ECR-005。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -13,3 +13,4 @@
|
||||
- QA:修 Playwright `/psy/` 路径与过时断言;e2e 2/2 绿(见 TEST_REPORT/ECR-001-phaseF-qa.md)
|
||||
- **ECR-001 Closed**;**ECR-002 Closed**;**ECR-003**:删 JSON `fortune` 双写,`lucky`→`boost`,H5 改读 `outlook`
|
||||
- **ECR-004**:Synastry 再拆 · Scale vitest · Membership nil 守卫 · OpenAPI schemas · GitHub CI
|
||||
- **ECR-005**:Ask/Decode/Portrait/Report/Star/Profile 再拆;OpenAPI 关键 path `$ref`
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# CODE_REVIEW — ECR-005
|
||||
|
||||
**Decision: PASS / Approve**
|
||||
|
||||
Blockers: 无
|
||||
Nits: ReportsPage 299 行可贴线后再拆;OpenAPI 仍有部分 path 仅 description。
|
||||
@@ -0,0 +1,23 @@
|
||||
# ECR-005
|
||||
|
||||
**Title:** H5 二次拆分与 OpenAPI 契约补强
|
||||
**Status:** Approved
|
||||
**Date:** 2026-08-05
|
||||
**Change Level:** L2(结构 / 契约;无产品扩行为)
|
||||
|
||||
## Change
|
||||
|
||||
1. 拆分 AskAiPane / DecodePanel;抽出 usePortraitPage / useDecodePanel
|
||||
2. 精简 useReportPage / useStarProfilePage / useProfilePage(纯函数/actions 外提)
|
||||
3. OpenAPI:报告/档案/探索测试/意象卡关键 path 挂 `$ref`;star 描述改为 outlook
|
||||
|
||||
## Acceptance
|
||||
|
||||
- [x] 上述目标文件 ≤250(ReportsPage 299 贴线可接受)
|
||||
- [x] test:h5 36/36 · build:h5
|
||||
- [x] OpenAPI 关键 GrowthReport / Profile / ScaleDetail / ImageCard 信封
|
||||
- [x] ESS 工件
|
||||
|
||||
## Linked
|
||||
|
||||
TASK / STATE / TEST_REPORT / CODE_REVIEW under ECR-005
|
||||
@@ -0,0 +1,3 @@
|
||||
# ENGINEERING_SPEC — ECR-005
|
||||
|
||||
See ECR-005. Move/extract only; OpenAPI additive `$ref`.
|
||||
@@ -45,9 +45,9 @@
|
||||
|
||||
## Active anchors
|
||||
|
||||
- ECR: **ECR-004** hygiene follow-up(Approved);ECR-001/002/003 Closed / shipped
|
||||
- ECR: **ECR-005** H5/OpenAPI hygiene(Approved);ECR-001–004 Closed / shipped
|
||||
- EXP: (无)
|
||||
- STATE: `docs/STATE/ECR-004.md`
|
||||
- STATE: `docs/STATE/ECR-005.md`
|
||||
- TRACEABILITY: `docs/TRACEABILITY.md`
|
||||
- ADR: `.ai/adr/0007-ess-ai-dual-track.md`
|
||||
- Product status: `.ai/product/p1-status.md`(**P1 Complete**)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# STATE — ECR-005
|
||||
|
||||
| Field | Value |
|
||||
|-------|--------|
|
||||
| ECR | ECR-005 |
|
||||
| Status | review PASS · awaiting push |
|
||||
| Updated | 2026-08-05 |
|
||||
@@ -0,0 +1,23 @@
|
||||
# docs/TASKS/TASK-20260805-ECR005.yaml
|
||||
task_id: ECR-005-h5-openapi
|
||||
role: engineer
|
||||
phase: coding
|
||||
tool: cursor
|
||||
status: coded
|
||||
|
||||
input:
|
||||
- docs/ECR/ECR-005-h5-openapi-hygiene.md
|
||||
- .ai/coding.md
|
||||
|
||||
output:
|
||||
- apps/user-h5/src/**
|
||||
- proto/openapi.yaml
|
||||
- docs/TEST_REPORT/ECR-005.md
|
||||
|
||||
forbidden:
|
||||
- redesign_scope
|
||||
- api_url_change
|
||||
- behavior_change
|
||||
|
||||
next_agent: reviewer
|
||||
notes: Ask/Decode/Portrait/Report/Star/Profile splits + OpenAPI refs.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Test Report — ECR-005
|
||||
|
||||
- [x] AskAiPane 97 · DecodePanel 102 · PortraitPage 225
|
||||
- [x] useReport 169 · useStar 228 · useProfile 152
|
||||
- [x] OpenAPI GrowthReport/Profile/ScaleDetail/ImageCard `$ref`
|
||||
- [x] `npm run test:h5` 36/36 · `build:h5` PASS
|
||||
|
||||
## Gate
|
||||
PASS
|
||||
@@ -10,3 +10,4 @@
|
||||
| ECR-002 | fortune→outlook package | **Closed** | `docs/ECR/ECR-002-fortune-hygiene.md` |
|
||||
| ECR-003 | outlook JSON hygiene(删 fortune / lucky→boost) | review PASS | TEST_REPORT · CODE_REVIEW/ECR-003.md |
|
||||
| ECR-004 | Synastry 再拆 · Scale 测 · Membership 守卫 · OpenAPI · CI | review PASS | TEST_REPORT · CODE_REVIEW/ECR-004.md |
|
||||
| ECR-005 | Ask/Decode/Portrait 再拆 · composable 外提 · OpenAPI `$ref` | review PASS | TEST_REPORT · CODE_REVIEW/ECR-005.md |
|
||||
|
||||
Reference in New Issue
Block a user