接 v2(home-redesign-plan-v2-20260923.md)。v2 第 4.3 节和 H8「红线文件冻结、认领后查不出来」的说法有误,以本文为准。
本文只读调查,零代码改动。
| # | 问题 | 长官回复 | 落地口径(建议) |
|---|---|---|---|
| H4 | 护眼灯 vs 大路灯 | 不是一回事:护眼灯是大类,大路灯是其中一种(落地式) | 打卡项叫「护眼灯」,大路灯/台灯都算,家长只填时长。代码里现有「大路灯」(4L 建议文案 four_l_summary_prompt.py、today-band.tsx:52 展示条)不动 |
| H5 | 多孩子怎么算"未记录" | 要细分,不能一棍子打死 | 见第三节 |
| H3 | 提醒走什么通道 | 先在智脑里显示提醒 | 见第四节 |
| H7 | 扫码转店要不要确认 | 不加确认 | 保持 force_transfer 现行行为。注意:转走后原机构看不到该孩子(Phase48 规则 7,设计如此) |
| H8 | 冻结文件能不能改 | 评估影响,没问题就改 | 见第二节:9-17 已改完上生产;另查出两处真坑,建议随件 3 修 |
$ git merge-base --is-ancestor a68a6a02 HEAD && echo YES # HEAD = origin/main c6884c23
YES ancestor of main HEAD
$ git log -1 --format='%h %ci %s' a68a6a02
a68a6a02 2026-09-17 22:49:48 +0800 fix(phase48a): 可见性六处改写 + 迁移改挂最新头
$ git merge-base --is-ancestor 0000000 HEAD # 对照组
fatal: Not a valid object name 0000000
refractive_record_service.py:111-135 _org_visibility_clause 现为「未认领按 org_id / 已认领只认 service_org_id」。
场景:家长子席位挂在机构 A 下、自建了孩子(owner_type=parent)→ 门店 B 扫家长码认领(service_org_id=B)。
| 谁 | 结果 | 原因 |
|---|---|---|
| 门店 B | 仍看不到这个孩子 | 门店视角还有第二道门 _store_visible_clause(refractive_record_service.py:79-108,Phase74),只放行"本店建的"或"本店家长席位建的",没接 service_org_id |
| 家长本人 | 绑定后看不到自己的孩子 | get_org_patient 里 org_clause(按家长席位所属机构 A 判)与 own_clause 是两次 .where() = AND(第 646-660 行附近)。A≠B 后 org_clause 为假,整条查不到。9-16 待办报告原以为是 OR,判断错误 |
两个坑都在互扫绑定"最常见的那一种"情况里必然触发。
test : total 56 · claimed 0 · no_org 1
生产 : total 14 · claimed 0 · no_org 1 # total 非 0,不是 RLS 假 0;14 与 9-17 交接件记载一致
认领功能至今无前端入口,没有一条数据被认领过 → 现在改不影响任何存量数据。
随件 3(互扫绑定)一起修,修完先补真打测试:A 家长建孩子 → B 认领 → ① 家长 GET 自己孩子 ② B 店列表/详情,两边都要看得到。现有 tests/integration/test_refractive_visibility_service_org.py 7 条全是门店视角,家长视角 0 覆盖。
_org_visibility_clause,天然如此)效果图门店端本来就画了「王家长 · 未读提醒 3 天 · 去处理」,与长官口径一致。
注:9-15/16 D9「门店结论只做已读/未读,不做通知」管的是视光结论,与本提醒是两件事,不冲突。
「落后 origin/test 1365 次提交」是挑拣发版的哈希噪音:main 反过来也有 916 次提交不在 test。按内容比:
$ git diff --shortstat HEAD origin/test -- app web migrations
86 files changed, 12295 insertions(+), 803 deletions(-) # 都是在 test 未上生产的其他功能
$ git diff --stat HEAD origin/test -- web/app/h5/chat/page.tsx app/services/refractive_record_service.py \
app/api/parent_patients.py app/auth/middleware.py app/services/brand_code_claim_service.py app/api/brand_code_claim.py ...
app/api/h5_chat.py | 15 +++++++++------ # 本项目要动的文件只差这一个
$ git diff --shortstat HEAD origin/test -- app/api/admin_activity.py # 对照组
1 file changed, 205 insertions(+), 248 deletions(-)
开工照规矩从 origin/test 建分支,零额外成本。
chat/page.tsx 拆成公共件;首页改版不再单独做批 0,避免两个会话同时改同一个 3412 行文件subseat-login-plan-v2-20260924.html 待长官看,代码未动