docs: 更新 CLAUDE.md 待处理清单 - P1 Shutdown 修复标记完成, P2 部分完成, 新增待复验项

This commit is contained in:
2026-07-04 12:35:27 +08:00
parent 38dcd21352
commit a64d9907c3

View File

@@ -90,8 +90,8 @@ export PATH="/home/showen/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bi
## 当前状态
- **质量**: **147/147 已在 Linux ARM64 目标机验证**2026-07-03 实跑lib 105 + example 7 + m1_2_dynamic 15 + m1_2_http 12 + m1_2_service_manager 8Flutter 15/15零 warning
- **里程碑**: M1.1 完成,**M1.2 收尾完成**147/147 两轮验收全绿、风险3 关闭、老板已提交 2a6e14b、设备已同步并复验零 warning仅差老板打 tag
- **质量**: **147/147 已在 Linux ARM64 目标机验证**2026-07-03 实跑lib 105 + example 7 + m1_2_dynamic 15 + m1_2_http 12 + m1_2_service_manager 8Flutter 15/15零 warning。**注**2026-07-04 新增 3 提交README 修正 + P1 Shutdown fix + P2 清理)仅过类型检查,待目标机复验
- **里程碑**: M1.1 完成,**M1.2 收尾完成**147/147 两轮验收全绿、风险3 关闭、老板已提交 2a6e14b、设备已同步并复验零 warning仅差老板打 tag(建议在 2a6e14b 上打 `m1.2`
- **DevicePlugin 能力**: Display + SleepInhibit + Backlight + Cursor (Linux ARM64)
- **ScreenPlugin**: 已重构为 thin wrapper
- **Flutter App**: 完成度 ~98%, APK v0.3 (52.6MB) 已编译, cupertino_icons 已修复
@@ -157,10 +157,17 @@ export PATH="/home/showen/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bi
3. **[M1.2 收尾]** sanitize_filename 集成测试测的是逻辑复制而非产品函数,转正需产品侧小改动(改 pub 或 routes.rs 内加单测)— 赵雨薇上报
4. DevicePlugin 阶段三framebuffer迁移/触摸/音频/多平台)— Phase 2 规划
5. **[设备遗留-代码]** 单实例保护(锁文件/socket 互斥)+ unclutter 僵尸子进程 reap — 派内核/视频工程师
- ~~unclutter reap~~ ✅ 核查确认2026-07-04`linux_arm64.rs:238-254` shutdown() 已做 kill+wait+pkill 兜底,仅 SIGKILL 极端场景残留,不值得加 SIGCHLD handler
- **单实例保护**未做。需目标机实测锁文件行为Windows 开发环境无法验证留给设备端工程师。背景CLAUDE.md:136 记录的 3 实例 P0 已由赵雨薇移除多余自启入口修复,单实例锁是防御性双保险
6. ~~**[设备遗留-系统]** 时钟慢约一年 + 磁盘 9x% 满~~ ✅ 全部解决2026-07-03时钟 — 王浩然修复根因timesyncd 出厂未启用 + RTC hym8563 掉电失效标志;已配 aliyun NTP 持久化 + hwclock 恢复apt 复活重启验证开机即正确遗留RTC 备份电池未验证,冷启动需联网自愈);磁盘 — 赵雨薇两轮清理 96%→35%(删 Flutter/Android/编辑器/kilo 等 ~16G
7. **[环境]** 设备 SSH 已打通:`ssh -p 2222 showen@192.168.31.105` 免密2026-07-02 配置),目标机验收可远程执行
8. **[代码质量-P2]** Shutdown 消息无生产触发者main.rs:117-120 Ctrl+C 只置 AtomicBool主循环阻塞在 rx.recv(),需等下一条任意消息才真正退出(王浩然发现)
9. **[Phase 2 清理]** SDK 文档教开发者监听永不触发的 WifiProvisioned (plugin-sdk/src/lib.rs:522)CursorVisibility 有消费无生产(实际链路已走 DeviceCommandcheck_updates 结果仅 println 不回传DeviceResponse 广播后核心无人读、Error 静默
8. ~~**[代码质量-P2]** Shutdown 消息无生产触发者main.rs:117-120 Ctrl+C 只置 AtomicBool主循环阻塞在 rx.recv(),需等下一条任意消息才真正退出(王浩然发现)~~ ✅ 修复2026-07-04提交 ab1dd91三处改动 — run() recv()→recv_timeout(200ms)handle_manager_message Shutdown 分支置 self.running=falsemain.rs Ctrl+C handler 注入 Message::Shutdown。效果Ctrl+C 后最多 200ms 退出。**待目标机复验**
9. ~~**[Phase 2 清理]** SDK 文档教开发者监听永不触发的 WifiProvisioned (plugin-sdk/src/lib.rs:522)CursorVisibility 有消费无生产(实际链路已走 DeviceCommandcheck_updates 结果仅 println 不回传DeviceResponse 广播后核心无人读、Error 静默~~ ✅ 部分完成2026-07-04提交 38dcd21
- ✅ SDK 文档broadcast 示例换成 StateChanged新增 Phase 2 占位消息说明WifiProvisioned/DeviceEvent/CursorVisibility
- ✅ check_updates 结果回传:通过 Custom { kind: "plugin_updates" } 广播
- ✅ DeviceResponse::Error 留痕device/mod.rs handle_message 补 eprintln
- ⏳ CursorVisibility 变体:删除会破坏示例插件和测试,倾向 Phase 2 统一清理(保留现状)
10. **[待复验]** 2026-07-04 三提交4d830c0 README / ab1dd91 P1 Shutdown fix / 38dcd21 P2 清理)仅过 rust-analyzer 类型检查,需在 Linux ARM64 目标机跑 `cargo check --workspace --all-targets && cargo test --workspace` 确认零 warning + 全测试通过
---