docs: DevicePlugin阶段一任务分解 + PM soul更新

This commit is contained in:
showen
2026-03-13 06:12:39 +08:00
parent e41c70a565
commit f83e18d43b
3 changed files with 334 additions and 21 deletions

View File

@@ -102,7 +102,16 @@
### 2026-03-13 示例插件完善
- 示例插件不能只演示 `init/start/stop` 空壳流程,必须覆盖消息发送、消息匹配、配置解析、后台任务、自测与注释文档,否则第三方开发者无法照着扩展。
- Rust 示例配置优先使用 `serde + #[serde(default)] + deny_unknown_fields + validate()`,把语法解析”和“业务校验分成两个阶段,问题定位更清晰。
- Rust 示例配置优先使用 `serde + #[serde(default)] + deny_unknown_fields + validate()`,把"语法解析"和"业务校验"分成两个阶段,问题定位更清晰。
- 定时任务示例用 `Arc<MessageSender> + AtomicBool + JoinHandle` 就能讲清楚最小可用线程模型;`stop()` 和配置重载都要负责回收线程。
- 验收固定执行:`export PATH=... && cargo check --workspace --all-targets`,再执行 `export PATH=... && cargo test --workspace`,两项都绿灯后再汇报。
- 本次任务一次性通过 `cargo check` 零 warning 和 `cargo test` 全量通过,后续继续保持先验证再汇报的节奏。
### 2026-03-13 DevicePlugin 阶段一任务拆解
- 收到 CEO 指示实施 DevicePlugin 阶段一(基础框架),完成任务分解文档 `.showen/DEVICE_PLUGIN_TASKS.md`
- 任务拆解遵循严格串行依赖Task 1 (Message enum) → Task 2 (DevicePlugin 骨架) → Task 3 (Backend 实现) → Task 4 (测试),避免并行导致编译冲突。
- 人员分配基于技能匹配:张明远(类型系统)负责 Message王思远架构负责 trait 设计赵雨薇Linux 显示)负责 Backend李思琪测试经验负责测试。
- 关键约束:所有 DeviceCommand/Response/Event 必须 `Serialize + Deserialize`(跨 FFI 边界Backend 通过条件编译支持多平台。
- 验收标准明确:至少支持 Display + SleepInhibit 两个能力≥5 个测试cargo check 零 warningcargo test 全部通过。
- 风险识别Message 改动可能影响现有插件应对立即全量编译验证systemd-inhibit 可能不可用(应对:错误处理降级)。
- 预计总工时 12-14 小时1.5-2 工作日Task 5 (ScreenPlugin 迁移) 标记为可选,可延后到阶段二。