交付出件箱

← 返回出件箱

云机会话交接件 · 2026-09-04

上一会话(9-03 夜 ~ 9-04 凌晨)交出。新会话开局按第 0 节顺序读,别跳。


第 0 节 · 防呆表(最先读 · 违反这几条=当场犯错)

新会话"变傻"的真因不是记性差,是 没查就说。下面每条都配了判据。

场景 ❌ 错误做法 ✅ 正确做法
长官问"X 存在吗/是不是这样" 凭印象答 先 command grep + 带对照组(查个已知存在的串证明查法有效),再答
记忆里写着某结论 直接当事实用 memory 只是参考。判断前必 grep 物理代码。冲突时物理代码胜
要说"已验证/已完成" 说了但没跑命令 必须贴真实终端输出。跑不了就明说"我跑不了,这是推断,可能错"
判断 test 上没上线 看云效流水线红绿 只认 sudo test-inspect deploy。流水线红绿全无意义
加个 UI 组件 直接写原生控件 先 grep 项目里有没有现成的。9-04 就栽在这(详见第七节)
派 agent 干活 一个 worktree 派两个并行 同 worktree 只能串行,并行会互相覆盖(8-28 两次真实事故)
agent 被 hook 拦 让它再派一层 只许一层。收回来自己换派法
主会话(Opus/Fable)想自己撸代码 连续 Bash/Edit/Read 超 8 次/10 分钟被物理锁。想清楚 → 派 sonnet/haiku 执行 → 只审结果
报数字(耗时/条数/token) 把多次汇报加总 subagent 报的 token 是累计值,加起来=虚报三倍
给长官链接 包进反引号/代码块 裸写 URL,包起来在 claude.ai 里点不动

第一节 · 现在是什么状态

两条线(长官立的规矩:分两条线跑,不要混)

线 状态
A 线 · Phase 76 已发生产(MR #581)。无待办
B 线 · 视光档案 stage2 整改 全部只在 test。🔴 长官亲自验收前,一次都不许发生产

B 线工作区

worktree: /home/dev2/doctor-ai-brain/.claude/worktrees/s2-rework
分支:     feature/stage2-rework-vf-ui2
HEAD:     b52fcd9b(已合入 test · 工作区干净)
远程名:   origin(指向 /srv/git/outbox.git)· 不叫 codeup

今天(9-03 夜 ~ 9-04 凌晨)发了两批到 test

MR 内容 长官验了吗
#591 AI 分析四个硬错 + 历次对比三档窗口 + 加粗渲染 + 门店结论框脏 JSON 转人话 ⬜ 未验
#592 检查日期改滚轮弹层 + 平板端日期滚轮绿改蓝 ⬜ 未验

已部署 commit = fce1b0be(= MR #592 合并 commit),坏提交无、失败计数无。

#591 具体改了什么(长官要验的点)

  1. 眼轴微小变化不许说好转 —— 差值 <0.1mm 判测量噪声。「眼轴回退」「眼轴缩短」「已逆转」进了代码级硬禁语,模型写出来就被拦掉重生成。
    (病根:长官真机看到眼轴仅差 0.06mm 却写成「眼轴回退」「甚至逆转」= 医学硬错)
  2. 白话度数与等效球镜同源换算 —— 度数 = |SE| × 100 四舍五入。
    (病根:SE −2.38D 白话却写「约 225 度」,应为 238)
  3. 风险框不许与主结论自相矛盾 —— 风险等级须与前文诊断同向。
  4. 去掉「白话版:」冗余前缀。
  5. 历次对比生成失败重试 1 次 —— 此前 27B 失败即返 None、ai_comparison key 永久缺失、GET 只读不重算 → 长官第 5 次检查看到「暂无历史可对比」。
  6. 同天二次检查(days<=0)给独立文案 reason=same_day,不再复用「暂无历史可对比」。
  7. 历次对比三档窗口:近半年/近一年/全部。⚠️ 是已取数据的客户端切换,不是点一下重新请求 —— 后端一次返回三档、无 per-window 入参。
  8. **xxx** 渲染成真 <strong>,星号不再露出来。
  9. 门店结论框里误存的原始 JSON 转人话展示(不写库)。

⚠️ 第 1、2、3 项要新生成一次分析才看得到,老数据是改之前生成的,长官要点「重算」。

#592 具体改了什么


第二节 · 待办(按优先级 · 长官已点名)

1. 🔴 曲线高级化(长官原话:「感觉不够高级,你要想法搞的高级一些」)

长官具体说的:「现在在裸眼曲线,点击眼轴,曲线变化有点慢,动画不够高级」

要做的(上一会话已想好方案,未实施):
- 切换指标时不 remount(现在是整个重建,所以闪)
- 300ms 缓动过渡
- 三按钮改分段控件 + 滑动指示条
- 平滑曲线 + 更深的渐变填充
- 悬停光晕点
- 网格线改浅色虚线
- 首次进入的画线动画

文件:web/app/h5/tablet/pane/panes/refractive-record/trend-chart-dialog.tsx
图表库:recharts(全局政策:非大屏一律 recharts,禁 echarts)

2. 🔴 家长端「和上次比」卡片(长官原话:「历次对比推送给家长,家长端怎么展示,这个你要想好」)

上一会话提的设计(长官还没拍板,别当已批准):
- 只显示变化项,不显示没变的
- 颜色跟结论走(好转/持平/进展)
- 一句话摘要,取自门店结论
- 家长端是绿色主题,别把平板端的蓝色搬过去

3. ⬜ 长官验完 #591 #592 后可能的打回


第三节 · 已发现但我判断先不动的(等长官定夺)

事项 我的判断 要改的话怎么改
滚轮上下两行年月日文字偏淡 建议不动。是 iOS 式滚轮景深标准做法,家长端同款 同目录现成深色令牌 #43617a
10000000「测试机构名称」 生产残留行 不在白名单,别动,要清需长官另点名 —
11 个 unreachable shells(org 5/83) 等长官 —
死代码 openParent() / record-canvas.tsx / module state 等长官 —
「看完视频出方案」阈值 等长官 —

第四节 · 环境硬事实(近期变过的,老记忆可能是错的)

🔴 部署判据 9-03 换了(root 改的)

sudo test-inspect deploy

时间预期:
| 改了什么 | 多久 |
|---|---|
| 合并后被发现 | 1 分钟内 |
| 只改 docs/deploy 类 | 十几秒 |
| 改了 app/ web/app/ migrations/ | 4~10 分钟 |

新增保护:部署要过五条实证才算数(无假绿灯);构建失败重试 3 轮后标坏提交、老版本继续跑(修好发新 MR 即自动恢复,不用找 root);挂站自动回滚。

🔴 27B 连不通(403)

云机 curl 100.68.51.72:8080 返 403(出网代理拦的)。后果:AI 分析改完,模型实际写出来什么话在云机验不了。只能验提示词内容 + 代码逻辑。要验效果只能上 test 真机。
已向 root 提过白名单需求,未处理。

🔴 autoCompactWindow 200000 → 400000(root 9-04 改)

机器级 /etc/claude-code/managed-settings.json,全局生效,原值备份 .bak-400k-0904。
后果:会话到 40 万 tokens 才自动压缩,被压缩次数减半。
⚠️ 但本机仅 3.4G 内存,历史有会话 67 万 tokens 被 earlyoom 击杀 —— 「上下文过 60% 主动存档重开」的老规矩不取消。
⚠️ root 消息写「两点说明」但只给了第一点,第二点未知。

粗活守卫(未处理长官提的诉求)

dev-fable-grunt-guard.py 阈值仍是 8 次/10 分钟,决策层模型(Fable/Opus)触发即锁。
解锁:派一个显式 model:"sonnet" 或 "haiku" 的 agent。
⚠️ 四步 verify 本身就占 4 次,所以主会话别自己撸代码,想清楚就派。

shell 坑


第五节 · 铁律速查(违反=真出事)

发版

# 发 test(唯一路径)
sudo release-to-test --yes "标题"          # 必须带 --yes,无 TTY 下没它会静默退出、MR 不建
# ❌ 禁止 printf 'y\n' | 管道喂确认(会被分类器拦)
# ❌ 禁止直接跑 scripts/release*.sh
# ❌ 禁止 git push codeup test/main(服务端保护分支,拒)

# 发生产(B 线现在不许发)
sudo release-to-prod --mr <MR编号>          # 必须点名 MR,禁止整条 test 推 main

长官令:发版少发,攒几个功能一起发。别一 commit 一 MR。

派 agent

测试

生产库

安全(绝不能写进任何文件)

以下只在会话里用,禁止落进 ~/reports/ 或仓库:
- test 后台账号密码、test 门店席位账号密码 → 临时用放 /tmp,用完 rm
- 公网下载页密码 → 只在对话里给


第六节 · 长官交互规矩

规矩
称呼 长官
简洁清晰,多用表格少用大段文字
带 emoji ⚠️ 上一会话被批评过忘记加
长官没听懂时 → 举具体例子,别重复术语
一次只问一个简单问题
派 agent 跑长任务时 中途要汇报(被批评过"你怎么不给我回复了")
给链接:内网 http://100.113.74.62:8812/reports/文件名.md · 公网 https://dev-tokyo.tail3912a6.ts.net/文件名
链接裸写,禁止包进反引号/代码块
交付双投递:正本 ~/reports/ + 拷一份进 worktree 的 reports-out/
状态声明必须点名环境(已实装/已部署/已合并 都要说清是 test 还是生产)
术语:只说「发测试」「发生产」,禁说模糊的「发版」「上线了」
口语「门店」= 正式「机构」

第七节 · 上一会话犯的错(别重犯)

错 教训
检查日期直接写了原生 <input type="date"> 项目里早有两个为同一诉求做的自定义组件,其中一个注释白纸黑字写着「原生 input type=date 长官反馈『不好看不好点』,重做为弹出月历」。加 UI 组件前必须先 grep 有没有现成的,同一个意见让长官提了第二次
说「重算按钮不重算历次对比」 凭印象说的。agent grep 查出只有一个调用点,首次生成和重算走同一条路。说"X 是这样实现的"前必须 grep
说「后端 build_ai_comparison 支持 days 三档」 也是凭印象。真实签名 (db, org_id, rec, eyes) 根本没 days 参数
派 agent 跑 35 分钟一声不吭 长官问「你怎么不给我回复了」。长任务中途必须汇报
建议 root 退掉流水线部署步骤时,一口气抛出三个顾虑 其中两个查完发现不成立(8-27 root 早已官方退役该步骤;部署按分支不按人)。提顾虑前先自己查
回复忘了加 emoji 长官点名批评

第八节 · 新会话开局自检清单

# 1. 确认 worktree 和分支
cd /home/dev2/doctor-ai-brain/.claude/worktrees/s2-rework
git branch --show-current      # 期望 feature/stage2-rework-vf-ui2
git status --short             # 期望干净
git log --oneline -3           # 期望顶上是 b52fcd9b

# 2. 确认 test 部署态
sudo test-inspect deploy       # 期望已部署 commit = fce1b0be(或更新)· 坏提交=无

# 3. 别忘了 hook 自检
[ -x .git/hooks/pre-commit ] && echo "✅ hook 已装" || echo "⚠️ 需装"

交接人:9-03 夜班会话
下一步:等长官验收 #591 #592;同时可以开工曲线高级化(第二节第 1 项,方案已想好,直接派 sonnet 实施)