From da989c15da864ef17ad1c1e7949a98cd5419eeae Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Tue, 29 Sep 2026 01:54:34 +0800 Subject: [PATCH] test(contract): home surface includes the shared self-profile save (gate run 1584) Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE --- docs/tasks/PROGRESS-self-edit-avatar-menu-20260928.md | 6 ++++++ tests/test_supabase_user_data_contract.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/docs/tasks/PROGRESS-self-edit-avatar-menu-20260928.md b/docs/tasks/PROGRESS-self-edit-avatar-menu-20260928.md index e41ab3be..f2675fba 100644 --- a/docs/tasks/PROGRESS-self-edit-avatar-menu-20260928.md +++ b/docs/tasks/PROGRESS-self-edit-avatar-menu-20260928.md @@ -112,3 +112,9 @@ JS 增量是首页 bundle 里的 `AccountDialogDeepLink`、`account-dialog-inten 执行方报告的上一单缺陷(中国出生地 caption 永远没有城市)核实属实:存储标签以「中国 · 」开头。Claude 在本分支补一个提交修复并记 BUG-1082。 偏离裁定:1–4 接受。遗留给产品:本人 `birth_time_status = confirmed` 时,改出生时间不会移动已确认的排盘时间(账户路由既有行为),需产品决定。 + +### 门禁 run 1584 红(`4ed0e8e7`)→ 补修 + +- 本机按门禁同参数复现:`run_quality_gate.py --profile quick --skip-yoga-logic --skip-frontend-runtime` 唯一失败 `tests/test_supabase_user_data_contract.py::test_profile_coordinates_are_persisted_with_database_bounds`——坐标写入的源码文本从 `use-profile-onboarding` 挪进了 `lib/self-profile-save.ts`,而 Python 侧的首页表面白名单 `HOME_SURFACE_FILES` 没有同步(前端 `tests/home-surface.ts` 已同步)。 +- 修:`HOME_SURFACE_FILES` 加入 `lib/self-profile-save.ts`。断言本身未改(原值 / 新值 / 原因:白名单 8 → 9 个文件 / 断言不变 / 写入逻辑换了文件)。复跑同参数 quick 门禁:997 passed,`Quality gate passed.`;隐私制品扫描 pass。 +- 教训:执行方没跑 Python quick 门禁(理由是「没改 Python 文件」),但 Python 合同测试会按源码文本读前端文件。前端改动也必须跑 quick 门禁。 diff --git a/tests/test_supabase_user_data_contract.py b/tests/test_supabase_user_data_contract.py index 2987cb48..e4300dbd 100644 --- a/tests/test_supabase_user_data_contract.py +++ b/tests/test_supabase_user_data_contract.py @@ -44,6 +44,9 @@ HOME_SURFACE_FILES = ( _FRONTEND_SRC / "lib" / "home-types.ts", _FRONTEND_SRC / "lib" / "home-profile.ts", _FRONTEND_SRC / "lib" / "home-cloud-sync.ts", + # 本人资料写入从 use-profile-onboarding 抽成共享函数(TASK-self-edit-avatar-menu-20260928 S1), + # 首页与星盘档案都走它;与前端 tests/home-surface.ts 同步。 + _FRONTEND_SRC / "lib" / "self-profile-save.ts", _FRONTEND_SRC / "components" / "birth-location-fields.tsx", _FRONTEND_SRC / "components" / "profile-fields.tsx", _FRONTEND_SRC / "components" / "onboarding-chat-message.tsx",