Files
ShadowsocksX-NG/docs/design/user-plugin-mapping-commit-spec.md
T

21 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 用户插件映射提交回归(候选 3)
本文件记录 2026-10-05 用户确认的任务范围,基线为 `e74f8df`,仅作任务历史,不代表后续代码现状。
## 已定范围
保留 `PluginCatalog` 为映射提交 module,通过其 `commit` interface 验证验证、原子保存、发布、重校验与后续运行收敛。目录工作流和运行控制器作为集成观察面,不新增提交框架或进程启动 adapter。
- 保存失败不得改变已提交映射、代次或目录投影,也不得触发运行应用。
- 运行应用失败不得撤销保存;重建目录后仍恢复用户保存的映射。
- 连续 A→B 保存以 B 为最终意图;尚未开始的旧任务不得应用 A,已在运行的旧任务不得覆盖 B 的最终运行状态或契约。
- 映射变化立即重校验配置组成员;无效成员不参与运行,仍有有效成员时保留活动组目标。
- 无关映射变化与相同映射提交不得重启健康且契约一致的代理。
- 同一快照指同一已提交映射代次;文件可用性在每次激活或运行派生时重新检查。
只修复回归揭示的问题。不增加文件监听、文件替换自动重启、逐次映射保存的应用结果记录或管理 UI。运行失败继续由既有控制器状态呈现。
## 验证
采用进程私有临时目录、真实映射和运行文件存储、注入的 LaunchAgent 与可控健康探测。测试不会运行用户插件或修改真实系统代理。新增测试默认 Swift Testing;异步交错用已有 gate,不使用任意等待。