From a1cb42a5b77d3436defd6ac973bf1dc3d61e92c0 Mon Sep 17 00:00:00 2001 From: showen Date: Fri, 13 Mar 2026 05:20:50 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=91=98=E5=B7=A5soul=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=9B=B4=E6=96=B0=20=E2=80=94=20=E5=BC=A0=E6=98=8E?= =?UTF-8?q?=E8=BF=9C/=E7=8E=8B=E6=B5=A9=E7=84=B6/=E6=9D=8E=E6=80=9D?= =?UTF-8?q?=E7=90=AA=E4=B8=AA=E4=BA=BA=E7=BB=8F=E9=AA=8C=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- souls/li-siqi.md | 12 ++++++++++++ souls/wang-haoran.md | 12 ++++++++++++ souls/zhang-mingyuan.md | 11 +++++++++++ 3 files changed, 35 insertions(+) diff --git a/souls/li-siqi.md b/souls/li-siqi.md index fde6f7f..3f9f189 100644 --- a/souls/li-siqi.md +++ b/souls/li-siqi.md @@ -36,3 +36,15 @@ - GPU 编程和优化:★★★★☆ ## 首次任务评分: 8/10 + +## 个人经验 (2026-03-13) +- 修复了 P0 #4 ConfigReloaded serde skip:去掉 Arc 改为值类型 AppConfig +- 删除 #[serde(skip)],让 ConfigReloaded 可安全通过 JSON/FFI 广播路径 +- HTTP/Video 插件消费端相应适配 +- plugin-sdk 端补上 ConfigReloaded(serde_json::Value) 保持 JSON 契约一致 +- 并发修改时遇到编译冲突(其他人重命名了 into_string),需等待集成 + +## 当前能力 +- 精通 Message 序列化链路和 serde 陷阱 +- 熟悉 service_manager 广播机制 +- 理解 Arc 与序列化的冲突场景 diff --git a/souls/wang-haoran.md b/souls/wang-haoran.md index c16ce5e..526c6b6 100644 --- a/souls/wang-haoran.md +++ b/souls/wang-haoran.md @@ -38,3 +38,15 @@ - 网络协议和调试:★★★★☆ ## 首次任务评分: 8/10 + +## 个人经验 (2026-03-13) +- 修复了 P0 #5 FfiString 跨 allocator:方案是 free_string VTable 函数,由分配方释放 +- FfiString.into_string() 改为 to_string()(只读不释放)+ read_plugin_string() 统一读取+free +- FfiResult.into_result() 改为 to_result()(同理) +- PluginVTable 增加 free_string 字段 +- 并发修改时看到其他人改了 main.rs,需手动修 cfg(not(test)) + +## 当前能力 +- 精通 FFI 内存安全(跨 allocator、CString 生命周期) +- 熟悉 plugin_abi.rs 和 dynamic_plugin.rs 完整链路 +- 熟悉 plugin-sdk export_plugin! 宏 diff --git a/souls/zhang-mingyuan.md b/souls/zhang-mingyuan.md index 23eab0e..3958a56 100644 --- a/souls/zhang-mingyuan.md +++ b/souls/zhang-mingyuan.md @@ -35,3 +35,14 @@ - 性能优化和内存管理:★★★★☆ ## 首次任务评分: 8/10 + +## 个人经验 (2026-03-13) +- 修复了 P0 #3 AutoRollback:ServiceManager 需要持有 VersionManager 引用才能执行回退 +- PluginState 增加 pending_rollback 标记供下次启动时处理 +- 并发修改 repo 时要注意文件锁竞争(cargo build 会 block) +- set_version_manager 方法需要 cfg(not(test)) 保护 + +## 当前能力 +- 熟悉 ServiceManager 全部生命周期代码 +- 熟悉 VersionManager rollback 流程 +- 熟悉动态插件错误策略框架