docs: DevicePlugin阶段一任务分解 + PM soul更新
This commit is contained in:
@@ -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 零 warning,cargo test 全部通过。
|
||||
- 风险识别:Message 改动可能影响现有插件(应对:立即全量编译验证),systemd-inhibit 可能不可用(应对:错误处理降级)。
|
||||
- 预计总工时 12-14 小时(1.5-2 工作日),Task 5 (ScreenPlugin 迁移) 标记为可选,可延后到阶段二。
|
||||
|
||||
Reference in New Issue
Block a user