mirror of
https://github.com/shadowsocks/ShadowsocksX-NG.git
synced 2026-10-26 19:53:44 +00:00
两类文档来源不同,处理方式也不同: - system-proxy-runtime-control-spec.md、terminal-command-address-spec.md 是 to-spec 技能的原样产物(英文模板小节标题,无标题与日期头)。其内容已发布为 Issue #72 / #73,人类需要的信息已由同日提交的无后缀中文文档承载;在仓库里再 存一份,等于同一份规格有两个事实来源。删除后仍可从 git 历史追回。 - user-plugin-*-spec.md 四份来自 improve-codebase-architecture 会话:该技能把 报告写进 OS 临时目录、不写 docs/design/,因此这四份是模型模仿仓库既有 -spec.md 旧例命名(“猜测旧例”而非技能指令)。去掉后缀后仓库不再有该样板, 后续模型少了可模仿的命名来源。四份保留原名主体,内容不动。 影响面:这六份文件全仓库零入站引用(含 docs/ 内部),移除与改名都无需改写链接。 docs/design/ 现为 12 份,无一带 -spec 后缀,与 AGENTS.md 的定位一致。 有意不做:不加“docs/design/*.md 必须带可解析 日期:/状态: 头”的确定性检查。 AI 输出本就无法保证规范化;更关键的是这类文档的“状态”只描述某次改进上下文, 不跟踪现状,把它当可校验字段是假精确。日期是写作时点的事实,两回事。
1.6 KiB
1.6 KiB
用户插件映射提交回归(候选 3)
本文件记录 2026-10-05 用户确认的任务范围,基线为 e74f8df,仅作任务历史,不代表后续代码现状。
已定范围
保留 PluginCatalog 为映射提交 module,通过其 commit interface 验证验证、原子保存、发布、重校验与后续运行收敛。目录工作流和运行控制器作为集成观察面,不新增提交框架或进程启动 adapter。
- 保存失败不得改变已提交映射、代次或目录投影,也不得触发运行应用。
- 运行应用失败不得撤销保存;重建目录后仍恢复用户保存的映射。
- 连续 A→B 保存以 B 为最终意图;尚未开始的旧任务不得应用 A,已在运行的旧任务不得覆盖 B 的最终运行状态或契约。
- 映射变化立即重校验配置组成员;无效成员不参与运行,仍有有效成员时保留活动组目标。
- 无关映射变化与相同映射提交不得重启健康且契约一致的代理。
- 同一快照指同一已提交映射代次;文件可用性在每次激活或运行派生时重新检查。
只修复回归揭示的问题。不增加文件监听、文件替换自动重启、逐次映射保存的应用结果记录或管理 UI。运行失败继续由既有控制器状态呈现。
验证
采用进程私有临时目录、真实映射和运行文件存储、注入的 LaunchAgent 与可控健康探测。测试不会运行用户插件或修改真实系统代理。新增测试默认 Swift Testing;异步交错用已有 gate,不使用任意等待。