唯一前进计划。三项目合并已物理收尾,本计划只列剩余工作(G1–G5)。 历史里程碑分解(M1–M5/M8 子计划)见
已完成归档/,仅供参考,不再驱动主线。 真实进度锚:项目文档/进度/工作计划表.md(里程碑状态)+项目文档/进度/待验证清单.md(V 项真机门控)。 抗失忆:每个任务自包含(改哪/验收/真机门控);开工读本计划 +进度状态.yaml断点即可续接。
三项目合并 · 物理收尾完成
control 已物理并入 ivf_tl_operate_2.0/control/,顶层 ivf_tl_control_2.0 目录消失,operate 自包含。autofocustool/ 已删除(零引用,算法移植 IvfTl.AutoFocus)。data-transmission 补建 108 的 aivfo-tl 库后已起;nacos 6 服务在线。串口占用 · 代码层修复完成
_halLease.Serial/Camera,删 new ComBin/new Camera)、借用闸门暂停采集接通(OnPauseCapture/OnResumeCapture → HouseBin)。质量修复进度
里程碑总览(详见 进度/工作计划表.md):M0✅ / M1 合并✅+T1.4 待真机 / M2 算法✅+清理任务❌+标定实拍待验 / M3✅ / M4 框架✅+自适应/TabTip/弹框❌ / M5✅(止血已修) / M8 机制✅+operate&Java 埋点❌+配置下发❌ / M6·M7 未开始(待 GUI 业务流程真机)。
标注:
[真机]= 需用户在场真机门控;[纯代码]= 可独立编码完成。优先级 P0(止血/前置)> P1(上线必堵)> P2(完善)。
目标:串口占用问题真机闭环,ComBin 两套统一去重,HAL 方法补齐到位。
涉及文件:operate HouseDebugPageViewModel.cs / BufferDebugViewModel.cs / HouseBin.cs / SerialChannelImpl、operate 与 B 栈 ComBin 实现。
[真机][P0] T1.4 真机验证:operate GUI 进调试页不报端口占用;借用→暂停→调试复用句柄→归还→恢复采集时序正常(V-012/V-013)。[纯代码][P1] ComBin 枚举阶段迁移去重:把 B 栈 ComBin 剩余被引用逻辑迁入 operate 统一实现后删除 B 栈 ComBin(当前仅删了死代码)。[真机][P1] 写 EEPROM 调试动作补全:SerialChannelImpl 写 EEPROM(字节序)真机核对(V-010)后在 HAL 统一,补齐 6/7 → 7/7。验收:调试页打开/采集恢复实测正常;grep 仓库无 B 栈 ComBin 残留引用;写 EEPROM 真机核对通过。 真机门控:G1-1、G1-3。
目标:首页弹框、子页自适应、软键盘屏蔽、well 状态色彩到位,真机不溢出。
涉及文件:operate 首页舱室弹框视图、M4 清单 13 子页(去写死 2736×1824 像素 + Viewbox/弹性)、TabTip 屏蔽处、well 状态色彩样式。
[纯代码][P1] 首页舱室弹框位置/大小修复。[纯代码][P1] M4 13 子页自适应(按 M4-01-5 清单:去写死像素 + Viewbox/弹性 + 零滚动,子页根无 2736×1824)。[纯代码][P2] TabTip 程序级屏蔽实现。[纯代码][P2] well 三态色彩。验收:真机视觉子页不溢出、弹框位置/大小正常、软键盘不弹、well 三态色彩正确。 真机门控:最终视觉以真机为准(G2-1/G2-2 真机视觉验证)。
目标:M8 全量操作日志从机制走向各端逐方法埋点,配置可下发可补送。
涉及文件:operate 各 ViewModel/命令、Java tl-control/business 关键 Controller/Service(@OperateLog)、M8 §10 配置中心下发 + 本地兜底补送逻辑。
[纯代码][P1] operate 逐方法埋点(逐 ViewModel/命令接入)。 ✅2026-06-20 完成:VM 层(HouseDebugPageVM ~23 法:LED/进排气阀/补排气/写EEPROM/水平垂直电机各向/抓图/一键电机准备/手调保存等、BufferDebugVM 3、MainPageVM 2:结束培养/报警静音、UnifiedConfigVM 1:保存配置排除密码) + View code-behind 层(加皿窗口:编辑保存/启动培养皿/启动平衡皿、胚胎详情:移动/释放/删除/作废/结束 5 个、舱室设置:保存舱室/保存系统设置、对焦设置:保存/批量校验)。事件处理器用 OperationLogger.Begin scope + 失败路径显式 Fail()(Dispose 默认记成功),不改控制流;HTTP/串口/相机已由 P3b 单点收口覆盖;展示类/纯数据 VM(Photo/Detail-VM/DishRecord/Alarm/Chart/ServiceMonitor)无操作正确跳过。operate 工程 dotnet build 0 error。★真入 operation_log 待起 Kafka+oplog 端到端抽查(运行期,非真机门控)。[纯代码][P1] Java 埋点:tl-control / business 关键 Controller/Service 加 @OperateLog。 ✅2026-06-20 完成:两服务装 M8 三件套(log-starter+kafka-starter+oplog-client)+ application-local 配 kafka(${server.ip}:9092);tl-control 15 Controller/90 方法、business 24 Controller/121 方法贴 @OperateLog(module=@Api tags、operation=@ApiOperation 中文值);两服务 Maven 编译 BUILD SUCCESS。★真入 operation_log 待起 Kafka+oplog 端到端抽查(运行期,非真机门控)。[纯代码][P2] M8 配置集中下发 + 本地兜底补送(C4)。 ✅2026-06-20 完成:① §10 配置热生效——OperationLogOptions 加 ConfigFilePath/ConfigReloadSeconds + ApplyConfigJson(容错解析 enabled/globalLevel/模块级开关),新增 OperationLogConfigWatcher(后台轮询配置文件,大小/写时间变即热应用,全 try 兜底),日志微服务/运维把统一配置文件下发覆盖到该路径即热生效不重编;② §11 本地兜底补送——KafkaOplogTransport 加 onDeliveryFailed 回调(投递失败/队列满整条 JSON 落兜底文件)、LocalFileWriter 加补送原语(List/Claim 原子重命名 .resending/ReadLines/Delete)、OperationLogPipeline 加补送定时器 TryResend(认领→逐行重投→删,重入保护+每轮限流);③ 门面 OperationLogger 接线:构造 transport 传 onDeliveryFailed: local.WriteFallback、InitCore 起 ConfigWatcher(ConfigFilePath 非空)、Shutdown 释放。dotnet build Aivfo.OperationLog 0 error 0 警告。消费端(operate/front)只用 OperationLogger 门面、签名未变零改动。★真入库/补送/热生效待起 Kafka+oplog 运行抽查(运行期,非真机门控)。验收:抽查各端关键操作有 operation_log 记录;改配置热生效、Kafka 恢复后补送成功。
真机门控:无(GUI 操作触发即可抽查)。
目标:对焦清理任务上线,建库脚本统一可一次部署,本地 SQLite 列迁移不崩。
涉及文件:operate 对焦清理任务、两个 migration + base 建库脚本 + 幂等 runner、清单.md、本地 SQLite(tl_setting/house_well_setting)列迁移。
[纯代码][P2] 对焦标定清理任务(C6):按天数,scene=1 删 / scene=0 保留;可跑。[纯代码][P1] 建库脚本与 migration 合并 + 幂等 runner(C2):两 migration 并入 base 或部署清单强制登记;清单.md 补 operation_log/对焦表;全新部署一次跑完不缺表/列。 ✅2026-06-20 完成:对焦表/列并入 aivfo_tl_setting.sql、operation_log 并入 log.sql、新增幂等 sql/init-database.sh、清单.md 补全;临时 MySQL 容器全量跑通+二次幂等零报错验证(18 表/7+2 列/operation_log 齐)。[真机][P1] 本地 SQLite 列迁移(V-046):对 tl_setting/house_well_setting 加 AddColumn(IF NOT EXISTS 语义)或重发预置 db;旧 db 升级后写缓存不报 no such column。验收:清理任务可跑;全新部署一次到位;旧 db 升级写缓存不报 no such column。 真机门控:G4-3(V-046)。
目标:M6 业务回归 + M7 真机验收,按待验证清单逐条走通完整 GUI 业务流程。
涉及文件:项目文档/进度/待验证清单.md(逐 V 项)、operate 完整 GUI 业务流程。
[真机][P0] M6 业务回归:operate 完整 GUI 业务流程走通(对焦实拍跑层等)。[真机][P0] M7 真机验收:按 待验证清单.md 风险从高到低逐条真机验证。红线:不无人值守驱动真机电机。验收:待验证清单关键 V 项逐条 ☑。 真机门控:G5 全部(需用户在场)。
进度状态.yaml(断点)+ 交接卡.md(追加)+ 本计划(打勾)+ 涉及的需求/进度文档(回写矩阵)。[真机])须用户在场,绝不无人值守驱动电机。