mirror of
https://gitcode.com/JianFeeeee/homeagent-sdk.git
synced 2026-10-31 06:17:25 +00:00
## 背景 `example/commondev/rawfile/.gitignore` 写着 `*`:rawfile 里是随包资源 (可能是上百兆 node/pi 二进制),进版本库会让克隆变慢、每次升级产生 巨型 diff。**这是设计意图**,不是疏忽。 但代价很具体: 本地打包 → 包里 571 个 runtime 条目(工作区已备好资源)→ 冒烟通过 CI 打包 → 包里 0 个 runtime 条目(干净克隆没有资源) → 插件起不来 而两次构建的**日志都写着"成功"**。这类"本地绿、别处坏"我们吃过一次: TestHmapdevTemplateImplementsAllPluginMgrMethods 读了 gitignore 的文件, 本地绿、CI 红。 本次尤其危险:interrupt 的实现**同时**落在 sidecar.mjs(已进库)和 rawfile/runtime/*/sidecar.mjs(未进库)两处。只改前者,判据全绿、 包里的 sidecar 却还是旧的 —— 取消能力在发布版里根本不存在。 ## 判据做什么 不能要求 rawfile/ 必须有内容(干净克隆本来就没有)。但可以: · 有内容时,每个 CLI 目录必须有 sidecar.mjs 或 driver.json · pi/zcode 的 sidecar **必须**支持 interrupt · 没有内容时,用 t.Logf **大声说明**"此状态下打出的包不含 sidecar", 让这件事出现在测试输出里,而不是静默 ## 变异 删掉 rawfile/runtime/pi/sidecar.mjs 的 interrupt case → 判据报"打包后 commondev_agent_interrupt 会失效(源码改了但资源没同步)"