Files
ShadowsocksX-NG/docs/adr/0044-classify-application-support-files.md

1.5 KiB

应用支持目录按生命周期分类并共享运行路径规则

状态:已接受(2026-10-19)。

应用支持根目录下使用 configuration/ 保存 GUI 持久资料、runtime/ 保存跨进程部署和监管资料、logs/ 保存 Agent 日志。共享目录让停止清理扫描 GUI 原子写入临时文件;拆分后运行清理只扫描运行目录。ApplicationSupportPaths 确定分类目录,RuntimePaths 集中同一部署的路径规则,GUI 发布和 Agent 监管共用,不新增通用存储框架。

运行目录内不再细分:配置、GUI 私有意图摘要、认证、ACL 与监管资料参与同一发布和回收协议,继续遵循 ADR-0038、ADR-0043 的同目录引用、代次、锁和稳定链接约束。停止后高水位与两把锁保留。日志与运行目录分别创建并维护权限,不再依靠日志初始化顺带建立运行目录。目录 0700、普通文件 0600,加密和主密钥规则不变。

应用尚未发布,本次不引入旧平铺布局的自动迁移、回退读取或清理;新目录缺少配置时按首次使用初始化。开发环境切换前须停止旧后台进程,手动搬移需要保留的当前格式 GUI 文件,运行产物重新生成。旧根目录原位保留,初版 silent-launch.json 的自动迁移随之移除,已保存的 UserDefaults 偏好不变;本条修订 ADR-0017 中开发文件的一次性迁移行为。新目录内既有的旧格式拒绝规则继续保留。