decision
5 篇-
协同发布决策记录
SOW 0.4.0 保留了原生 filesystem 与 r2 发布后端。早期提案曾计划使用 rclone,并增加远端审计和预览命令。 最终选择原生后端,是因为 SOW 需要逐项记录条件写入及其结果。 当前命令语法见 sow publish。 为什么保留原生后端 发布计划为每个文件记录预期 SHA-256 和操作。后端需要创建不可变对象,避免覆盖已有内容,并按条件更新可变入口文件。 SOW 记录操作结果,用于中断后继续发布。 批量复制工具需要额外的身份与检查点模型才能保留这些规则。0.4 选择 …
SOW 0.4.0 保留了原生 filesystem 与 r2 发布后端。早期提案曾计划使用 rclone,并增加远端审计和预览命令。 最终选择原生后端,是因为 SOW 需要逐项记录条件写入及其结果。 当前命令语法见 sow publish。 为什么保留原生后端 发布计划为每个文件记录预期 SHA-256 和操作。后端需要创建不可变对象,避免覆盖已有内容,并按条件更新可变入口文件。 SOW 记录操作结果,用于中断后继续发布。 批量复制工具需要额外的身份与检查点模型才能保留这些规则。0.4 选择 …
-
SOW 设计演进:从路由图到仓库引擎
SOW 在 v0.1 中探索了以 Git 为核心的软件分发控制面,在 v0.2 中转为仓库引擎。 本文记录这次变化,以及后续到 v0.5.0 的改进。 下文版本号指正式 Git 标签。部分归档计划曾用“v0.2”“v0.3”指代开发中的设计; 其中在 RPM 视图内创建硬链接的 C2 布局,已在 v0.2.0 发布前被替换。 早期工作的细节见四篇配套文章: v0.1 原始产品计划说明最初的范围,以及范围为何过大。 v0.1 决策账本记录现存的 44 份 ADR 及其后续变化。 v0.1 到底证明 …
SOW 在 v0.1 中探索了以 Git 为核心的软件分发控制面,在 v0.2 中转为仓库引擎。 本文记录这次变化,以及后续到 v0.5.0 的改进。 下文版本号指正式 Git 标签。部分归档计划曾用“v0.2”“v0.3”指代开发中的设计; 其中在 RPM 视图内创建硬链接的 C2 布局,已在 v0.2.0 发布前被替换。 早期工作的细节见四篇配套文章: v0.1 原始产品计划说明最初的范围,以及范围为何过大。 v0.1 决策账本记录现存的 44 份 ADR 及其后续变化。 v0.1 到底证明 …
-
为什么 SOW 每个仓库只保留一棵包体树
这项决策起草于 2026-08-05,随 2026-08-08 的 SOW v0.2.0 发布。SOW 0.5.0 仍使用这一布局: 每个仓库保存一棵包体树,各发行版视图引用同一棵树。 决策 每个 Repository 的公共目录如下: <repository>/ pool/ # 包体 dists/ <dist>/ <architecture>/ # RPM 元数据 上图展示 RPM 视图。APT 索引位于 dists/<dist>/main/binary-<architecture>/, …
这项决策起草于 2026-08-05,随 2026-08-08 的 SOW v0.2.0 发布。SOW 0.5.0 仍使用这一布局: 每个仓库保存一棵包体树,各发行版视图引用同一棵树。 决策 每个 Repository 的公共目录如下: <repository>/ pool/ # 包体 dists/ <dist>/ <architecture>/ # RPM 元数据 上图展示 RPM 视图。APT 索引位于 dists/<dist>/main/binary-<architecture>/, …
-
v0.2 重置:用 Plain 与 Managed 取代万能控制面
2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …
2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …
-
SOW v0.1 决策账本:哪些被保留,哪些已退役
v0.1.0 标签中有 44 份架构决策记录(ADR),编号为 0001 至 0045,缺少 0006。 每份 ADR 记录一个问题、当时的决策及实现必须满足的条件。 下表说明仓库模型变化后,各项决策的后续情况。 状态 含义 保留 原则以基本相同的范围继续用于当前 SOW。 演化 问题仍在,但所有权或实现已经改变。 迁移历史 决策用于 Pigsty/V1 切换。 退役 决策属于已移除的 Git/CAS/Route/Edge 模型。 决策日期从 2026-07-11 到 7 月 28 日 …
v0.1.0 标签中有 44 份架构决策记录(ADR),编号为 0001 至 0045,缺少 0006。 每份 ADR 记录一个问题、当时的决策及实现必须满足的条件。 下表说明仓库模型变化后,各项决策的后续情况。 状态 含义 保留 原则以基本相同的范围继续用于当前 SOW。 演化 问题仍在,但所有权或实现已经改变。 迁移历史 决策用于 Pigsty/V1 切换。 退役 决策属于已移除的 Git/CAS/Route/Edge 模型。 决策日期从 2026-07-11 到 7 月 28 日 …