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

10 lines
1.5 KiB
Markdown

# 应用支持目录按生命周期分类并共享运行路径规则
**状态**:已接受(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 中开发文件的一次性迁移行为。新目录内既有的旧格式拒绝规则继续保留。