Przeglądaj źródła

docs(d2-02-p5): 端到端验证通过(139图入下划线库/逐孔embryo_id 20/20一致) + operate引擎版本坑

- 完整端到端跑通:4舱拍照->Kafka->data-transmission->下划线库 aivfo_tl picture分表139张->逐孔embryo_id核对20/20全一致0错误无报错
- 坑:operate 拉起的是 operate\control\ 子目录的预构建引擎(06-23旧版),编operate sln不更新它,缺采集修复致补气死循环不存图;修复=编control sln+同步引擎到operate\control- 坑:operate需登录(creds.dat)才拉引擎进采集,代启动停登录页空转
- 进度5.5标记完成;部署补充:operate\control\引擎须同步最新编译

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
huangjie 1 dzień temu
rodzic
commit
83665cf03e

+ 9 - 0
项目文档/进度/D2-02-第三阶段-自动对焦重构-特殊情况记录.md

@@ -185,3 +185,12 @@
   3. 启动监控 `bash 临时文件/monitor.sh`(已升级v2:含 ControlHost 引擎进程+日志监控,出报错即退出通知)。
   4. **端到端验证**:operate拍照 → 图进下划线库 `aivfo_tl` 的 `picture_neo_1_20230411_<舱>` 分表 → 关联 embryo(如id=25)/病例(record_id=2,TEST-AF-NORMAL)。**分表已建好、库已改对(commit 00e9767),都在108/已提交,不受本机重启影响**。
 - 待观察:ControlHost 为何08:41卡死(长跑后串口/相机驱动僵死?**已是第二例硬件僵死**)——重启后长跑续观察,若频发需查硬件驱动/引擎对硬件IO的超时保护。
+
+#### [Phase5·端到端成功] ★operate\control\ 引擎旧版本坑 + 修复 + 完整端到端验证通过  — 2026-06-26 17:25
+- **坑(关键)**:operate 拉起的硬件引擎是 **operate Release 目录下 `control\` 子目录的预构建文件**(`ControlProcessLauncher` 从 `operate目录\control\ivf_tl_ControlHost.exe` 拉起)。这些是 **06-23 旧版**;编 operate sln 只更新 operate **根目录** dll,**不更新这个 `control\` 子目录**。→ 跑的是旧引擎,缺"无气源补气提前退出"等采集修复 → 补气死循环、采集流程不完整、**拍照但不存图不上传**(本地 EmbryosControl 无新图、KafkaRecord 无上传、picture 表0行)。
+- **定位实证**:对比 08:40(旧引擎进程跑的是新代码)vs 16:41(operate拉的control\旧引擎)的补气日志——08:40有"疑无气源,停止本次补气(不拖慢采集)"(新代码),16:41补气[0->0]死循环(旧代码)。再查 operate\control\ivf_tl_ControlHost.exe = 06-23,根目录 dll = 15:38(今日)→ 版本错配实锤。
+- **修复**:① 编译 `control/ivf_tl_Control.sln -c Release`(产出最新引擎16:49,0错);② 关 operate+引擎;③ `cp control/ivf_tl_ControlHost/bin/Release/net6.0-windows/. → operate Release\control\`;④ 重开 operate 拉新引擎。**验证新引擎生效**:补气出现"疑无气源,停止本次补气(不拖慢采集)"✅。
+- **另一坑**:operate 需**登录**(生成 `creds.dat` 凭据)才会拉引擎进采集流程;命令行/代启动停在登录页空转(不写业务日志、不拉引擎)。**须人工在 operate 界面登录**(凭据相关,无法代做)。
+- ✅**完整端到端验证通过(17:25 一轮真机采集)**:4舱(2/4/6/8)拍照(一轮~15s)→ Kafka → data-transmission → **下划线库 aivfo_tl picture 分表入库 139 张** → **逐孔 embryo_id 与 embryo 表核对 20/20 全一致、0 不一致、无报错**。样例:仓2孔1-5→embryo17-21、仓4→33-37、仓6→49-53、仓8→65-69(带培养记录维度核对)。拍→入库延迟约9-15s。**图入对的库(前端读图的业务库)+ 正确关联病例,闭环达成。**
+- 用户现场:未接气体源,补气[0->0]补不进=正常(新引擎"无气源提前退出"已处理,不影响采集)。
+- **部署补充(重要)**:operate 部署/换环境时,**`operate\control\` 子目录的引擎必须同步最新编译**(编 control sln 后复制整目录),否则 operate 拉旧引擎。应纳入部署清单。

+ 1 - 1
项目文档/进度/D2-02-第三阶段-自动对焦重构-进度.md

@@ -74,7 +74,7 @@
 - [x] 5.2 真胚胎峰比阈值(focus_peak_ratio_threshold=1.2)— ✓真胚胎舱合格90-95%(峰比1.3-1.8),空孔house4=0/96全拒,阈值干净分离
 - [~] 5.3 EEPROM 4 个手写生效(对焦不写)— ✓对焦不写EEPROM已验(源码无写调用+无运行期写日志);"4手写生效"读取部分对焦已用作输入,需调试页实操写入核对
 - [x] 5.4 电机安全区间不撞机 — ✓数小时4舱对焦全程无钳位/越界/撞机告警,Z/水平位均在限内(ZMax125000/HMax220000)
-- [~] 5.5 置 local_autofocus_enabled=1 启用 + 端到端 — ✓安全门已=1;链路打通但**昨晚入错库(中划线 aivfo-tl,前端读不到)**。2026-06-26 已修:data-transmission 库名改下划线 aivfo_tl(picture 所在业务库)+重编译重启+手建真机20张分表(已登记设备不自动建,踩坑详见特殊情况记录#7纠正)。⏳待今晚真机重拍确认"图进下划线库分表+前端可见"。修两处服务侧堵点(Kafka 1MB→5MB、重启半死的 data-transmission)
+- [x] 5.5 置 local_autofocus_enabled=1 启用 + 端到端 — ✅**完整端到端验证通过(2026-06-26 17:25)**:4舱拍照→Kafka→data-transmission→下划线库 aivfo_tl picture分表入库139张→逐孔embryo_id核对20/20全一致0错误无报错。修复链:①库名改下划线aivfo_tl(picture业务库,图原入错中划线库前端读不到)②手建真机20张分表(已登记设备不自动建)③operate\control\引擎同步最新编译(原06-23旧引擎缺采集修复致补气死循环不存图)④operate需登录拉引擎。另修Kafka 1MB→5MB。详见特殊情况记录#7纠正+端到端成功条目
 - [ ] 5.6 use-after-free 压测 — 借用生命周期已被3.6并发测试大幅覆盖,真机压测补充
 
 ---