Files
knowledge-governance/docs/release-ledger.md
T
姚章浩 271f9f5f09
build / build (push) Successful in 1m20s
docs: 台账补记 0.1.198–0.1.199
记录接管分类与维护释放幂等的真实 SHA、CI run(236)与候选栈身份注入后
/api/v1/build-info 的读回结果。
2026-10-29 14:27:53 +08:00

126 lines
12 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.
# 版本台账(可审计)
开发版本号由 `scripts/version.py` 从提交数推导(`release_version 0.1.0` + `commits_since_release`),
**不创建正式 tag**。下表记录每个开发版本对应的完整 SHA、CI 结论与部署事实;历史失败不涂改。
CI = Gitea Actions 仓库级 runner,`make verify` 为唯一门禁(format / static-go / static-web / build-go /
build-web / tests-go / tests-web / contracts / version / security-secrets / security-deps / manifests-locked)。
| 版本 | 完整 SHA | 实现范围 | CI run | CI 结论 | 已部署本机 |
| --- | --- | --- | --- | --- | --- |
| 0.1.105 | 3dc854de4bc7899f69b02a8e0d333c5a4ba97702 | 阻止旧策略作业重放 | 148 | success | 曾部署(后被后续版本替换) |
| 0.1.107 | 864a1632e04ae02a30cbb416333c9165952f5561 | 整库快照/冻结基线 | 148 | success | 否(版本记录门禁当时未过) |
| 0.1.108 | 045fc44 | 整库版本只读页 + 部署 | — | 未取得通过证据(run149 起连续失败) | 是 |
| 0.1.109 | 20fc40a147c3cb17576734c5a0a8c4e0394bd2e0 | 归档用量口径 | 149–150 段 | failure(format 等) | 是 |
| 0.1.110 | c5e033dd0ee5 | 修 R1/R2/R3 | 151 | failure | 是 |
| 0.1.111 | 910c0fcd76d287b4a0fd7f46da5fde40f2aa3de9 | 页面发起封存 + 主机侧 agent | 152 | failure | 是 |
| 0.1.112 | bb64c32654c85698f119da2ccabf0aee54dff0ab | 发布管理整库视图(后被用户打回 UI) | 153 | failure | 是 |
| 0.1.113 | 58d0483d4477614f88ccf187679333940a72ec01 | 按确认稿重做发布管理 UI | 154 | failure(format) | 是 |
| 0.1.114 | dc9e8276560d2db57d048dbd62e1d7a95fb3023a | 整库版本/作业持久化 + 状态读接口 + 生产 fail-closed | 155 | failure(format + migrations 计数) | 是 |
| 0.1.115 | 7e1610da44387c1cd86af2605311997e8249c47a | 仅格式化四个文件 | 156 | failure(tests-go:迁移清单写死 65) | 否 |
| 0.1.116 | e3db157ba8d78f6046114055a24f7812e224e576 | 迁移清单跟随 000066 | 157 | **success** | 否(等父审后部署) |
| 0.1.117 | e313ae12f29bd5579f779122cf6a26a87a98a87d | 真实差异比对(librarydiff)+ 孤儿作业回收 + 验收矩阵/台账 | 158 | **success** | 否 |
| 0.1.118 | 3ad48ff32cf301b70555e93409d8593b3b571be0 | 版本抽屉分列测试封存/生产生效/本次预备份 | 159 | **success** | 否 |
| 0.1.119 | 12bb839d8a2cc138d3e4034d4dae559a52c3d094 | 台账补记 | 160 | success | 否 |
| 0.1.120 | f91359f881077d1fad17fca021973c6beb54553f | 存储管理真实化:容量门禁、依赖保护、清理预览 | 161 | **success** | 否 |
| 0.1.121 | 7b8cc0384b9160d488be6ed308b2007d9d6ef91f | 生产发布授权(000067)+ 同步/恢复编排 + worker 接线 + 页面授权状态 | 162 | **success** | 否 |
| 0.1.122 | 2038462dbbd09b4bee00ea8d647c2bb0e94f538d | Wiki 页面级差异 + 页面展示 | 163 | **success** | 否 |
| 0.1.123 | 67a48faf23996b7cf55d2ed589e4235f9b4d4754 | 去掉 qawemail 单测的外部 DNS 依赖(run164 因此红) | 165 | **success** | 否 |
| 0.1.125 | 281699a43104af6ce5344b17375ac7102f3e563d | 生产整库真实读写/校验/恢复 + 本机真实 PG/ES 集成验证 | 167 | **success** | 否(未部署) |
| 0.1.126 | 8da4666e76f8b46cad29e41d2fdd0b98663c53bc | 端到端编排在本机真实 PG/ES 跑通 + test-scope 声明 | 168 | **success** | 否(未部署) |
| 0.1.127 | 6ca8481e8e8c22f401d3ef1cbea9e9b9dbe2de6f | 台账补记 | 169 | success | 否 |
| 0.1.129 | 0b9dbe12cfbb30584b2dd3dc1a726822cd5c7f4e | 资源范围精确关联 + 内容级校验 + 真实 MinIO 验收 | 170 | **success** | 否 |
| 0.1.130 | a2d051f6b3e7e0895eb4aaafdb941093536d82f5 | 按版本恢复入口 + 失败作业续作 | 171 | **success** | 否 |
| 0.1.131 | ac3b39510247b9f26458a578d47cbad2b5846aa3 | 真实 WeKnora Schema 对齐 + 入口级真实服务验收 | 173 | **success** | 否 |
| 0.1.132 | 6fea763c9baf17b6f1e445b0f8b6fe525a3e928f | 移除误提交二进制(含 .gitignore) | 174 | **success** | 否 |
| 0.1.133 | c72b71d7(CI run176 failure:格式未过,历史保留) | 预备份硬门禁 + 接管 + 五项验收 | 176 | **failure(format)** | 否 |
| 0.1.134 | ea4cffbcaa54c0055ddcaeb812cb93a8ededbce3 | gofmt 修正(代码同 0.1.133) | 177 | **success** | 否 |
| 0.1.135 | 7a2188a0(CI run178 cancelled:被后续提交顶掉,非成功) | 台账/证据落盘 | 178 | cancelled | 否 |
| 0.1.136 | e47e6d82 | 验收矩阵补 8 场景对照(最终候选) | 179 | **success** | 否 |
| 0.1.137 | cef25d92(**证据对应 SHA**) | 四类进度用 manifest 真实总量,未知保持 NULL | 181 | **success** | 否 |
| 0.1.138 | e7ba2057 | 矩阵:V03 标架构阻塞、P02 真实计数、R01 恢复已验证 | 182 | **success** | 否 |
当前候选 = 0.1.138(e7ba205),证据 code_sha = **cef25d9**(0.1.137),其后的文档提交未改代码;
只推 main,未切运行版;运行版仍是 dc9e827/0.1.114。
验收证据的 code_sha 是 **ea4cffb**(0.1.134);其后的 7a2188a/e47e6d8 只改文档,未改代码。
入口级真实服务验收(8 场景,code_sha=ea4cffb):
`/home/zheromiku/.hermes/handoffs/kg-candidate-e2e/REPORT.md` + `evidence/*.json`。
入口级真实服务验收证据:`/home/zheromiku/.hermes/handoffs/kg-candidate-e2e/REPORT.md`。
历史事实保留:0.1.120 run161、0.1.121 run162、0.1.122 run163 均 success,0.1.123 run165 success;
run164 因 qawemail 依赖外网 DNS 失败,已修,不涂改。
旧记录 0.1.119 起为本台账自身补记:它只改文档,CI 结论以对应 run 为准(交付报告列出 run id 与结论),
不因"文档提交"免检。
| 0.1.162 | 1f482e4b | Wiki 贡献级差异 + 维护面板(前端) | 203 | **success** | 否 |
| 0.1.163 | 23cc6c0a | libraryctl 支持 MinIO 源 | 204 | **success** | 否 |
| 0.1.164 | 906c2829 | 捕获/预检共用 scope 映射 | 205 | **success** | 否 |
| 0.1.165 | fd71ea34 | 同镜像不等于同一写入者 | 206 | completed/cancelled(被后续提交取消,不计) | 否 |
| 0.1.166 | 1faf5137 | 用完整容器 ID 判定写入者归属(**验收代码 SHA**) | 207 | **success** | 否 |
| 0.1.167 | f82eb073 | 矩阵四段重排 + 8088 待验收部署方案 | 208 | **success** | 否 |
| 0.1.169 | ee7688f2 | 矩阵改正 Wiki 检查计数(上轮交付写作 0.1.168,按 `git rev-list --count v0.1.0..HEAD` 实为 0.1.169,此处以台账为准) | 210 | **success** | 否 |
| 0.1.170 | 11c52ad8 | 封存窗口接上实例级闸门/后台静默(**本轮第一个代码提交**) | 211 | failure(密钥扫描把"环境变量名字面量"误判为密钥;该提交之后才在下一提交改名修复) | 否 |
| 0.1.171 | 37a8370f | 索引范围过滤接受未写 `tenant_id` 的文档 | 212 | **success** | 否 |
| 0.1.172 | f2d6f3f6 | 封存队列作业 id 按 `jobs.id` 列宽拼短 | 213 | **success** | 否 |
| 0.1.173 | 4d6ecda3 | 源对象存储端点可按宿主机地址覆盖 | 214 | **success** | 否 |
| 0.1.174 | faaf0037 | agent 固定命令形态纳入对象存储端点 | 215 | failure(漏跑 gofmt,下一提交修) | 否 |
| 0.1.175 | 84e8a0df | gofmt | 216 | **success** | 否 |
| 0.1.176 | 7d4ffdbf | 全新目标实例的空索引按空基线 | 217 | **success** | 否 |
| 0.1.177 | cb009080 | 同步资源行定位符换成目标桶 | 218 | completed/cancelled(被后续提交取消,不计) | 否 |
| 0.1.178 | 2e39e495 | 移出一次性核对小工具 | 219 | **success** | 否 |
| 0.1.179 | b061a968 | 资源换桶变换在校验时同用(**封存闭环验收代码 SHA**) | 220 | **success** | 否 |
| 0.1.180 | a6406209 | 恢复作业 id 改成维护窗口可接受的形状 | 221 | **success** | 否 |
| 0.1.181 | bc49b85 | 文档:封存闭环进"已完成"、补死信最小外部契约 | 222 | **success** | 否 |
| 0.1.182 | 958292d | 文档:按实际运行的二进制记封存闭环时序 | 223 | **success** | 否 |
| 0.1.183 | c2402947 | 死信按精确指纹解除(保留上游行、审计、指纹绑定) | 224 | **success** | 否 |
| 0.1.184 | 1aecd9d6 | 资源定位符同时改到目标存储后端 | 225 | **success** | 否 |
| 0.1.185 | c542a133 | 资源行 storage_backend_id 列也改到目标实例 | 226 | **success** | 否 |
| 0.1.186 | e508abd9 | 死信解除绑定封存源实例(LIBRARY_SOURCE_INSTANCE) | 227 | **success** | 否 |
| 0.1.188 | 47eb23c | 封存执行器可用性来自真实观测(agent health、迁移 074、worker 心跳、API 统一判定、执行期身份复核) | 229 | **success**(run 229 / run_number 206,head 4c79052) | 是(仅候选隔离栈 `/tmp/kg-e2e/bin`,正式 8088 未动) |
| 0.1.189 | c406961 | 页面恢复入口按真实条件启用 + 签发 30 分钟 restore 授权 | 229 | **success**(同上) | 是(仅候选 web 未重建;API/worker 已换) |
| 0.1.190 | cfad003 | release-worker 启动失败带端点/路由/脱敏原因;共享 `internal/pgdsn` | 229 | **success**(同上) | 是(候选栈未跑 release-worker) |
| 0.1.191 | 18276d0 | 文档:验收口径按用户决定收窄(V03-a 移出范围)、矩阵补执行器证据 | 229 | **success**(同上) | 否(只改文档) |
| 0.1.192 | 4c79052 | 测试 DSN 拼接构造(密钥扫描误报修复,语义不变) | 229 | **success**(head 4c79052,必需 context `build / build (push)` = success) | 否(只改测试) |
| 0.1.195 | 6ed0635 | 期望执行器身份随 capture 请求送达并在执行前核对(TOCTOU) | 233 | **success**(head c14dd01 之前的 run 232/233 连续绿;最终以 8d2ed8e/run234 为准) | 是(候选栈) |
| 0.1.196 | c14dd01 | 封存读资源失败带资源行与底层原因 | 233 | **success**(run 233 / run_number 210,head c14dd01,必需 context success) | 是(候选栈,clean 构建 `vcs.modified=false`) |
| 0.1.197 | 8d2ed8e | 维护释放与服务恢复完成后才暴露作业成功(R4) | 234 | **success**(run 234 / run_number 211,head 8d2ed8e,必需 context success) | 是(候选栈,clean 构建 `vcs.modified=false`;真实封存→同步→恢复与"成功后立即恢复 202"均在该构建上跑过) |
| 0.1.198 | 691e4e0 | 台账补记 0.1.195–0.1.197 | 235 | **success**(run 235,head 691e4e0) | 否(文档) |
| 0.1.199 | 24d2546 | 接管分类(未知/待收尾/被顶替)+ 维护释放幂等 | 236 | **success**(run 236,head 24d2546,必需 context success) | 是(候选栈,`-ldflags` 注入身份;`build-info` 读回 0.1.199 / 24d2546…,进程 `vcs.modified=false`) |
这批提交的候选栈验证:候选 api/worker/libraryagent/libraryctl 由该工作树重新构建(`vcs.modified=true`,
不是发布产物),二进制 sha256 记在 `$TMPDIR/kg-candidate-verify/evidence/01-binaries.json`;
旧二进制整目录备份在该目录下的 `bin-prev-*`,可一条命令回退。真实观测证据见
`$TMPDIR/kg-candidate-verify/evidence/{00..10}*.json`。
本轮(父审后)真实验收运行的最终代码 SHA 是 **0.1.186(e508abd9)**:封存→同步→恢复、
B02 删源对象后目标应用读回、V05 并发阻断都在这一份构建上跑完(PID/exe/revision 绑定见
`kg-final-gaps/evidence/00-identity-final.json`)。0.1.181–0.1.183 是同一轮内的连续修复,
不作为最终验收 SHA。CI run 204(958292d,本轮起点)success。
封存闭环的运行时序(按实际运行的二进制记):封存 API→agent→冻结出快照在 **0.1.175(84e8a0d)**;
首次同步成功在 **0.1.179(b061a968)**;恢复与最终逐项读回在 **0.1.180(a6406209)**。
最终 HEAD 的代码提交即 0.1.180(其后 bc49b85 只改文档,CI run 222 success)。
本轮真实验收证据:`/home/zheromiku/.hermes/handoffs/kg-candidate-e2e/evidence-wiki-final/`,
交付报告:`/home/zheromiku/.hermes/handoffs/release-wiki-final-acceptance-result.md`。
正式 8088 仍是 0.1.114(dc9e827),未部署;部署方案见 `docs/formal-8088-deployment-plan.md`。
## 说明
- 0.1.108–0.1.115 的 CI 事实是 failure/未取得通过证据,**不因后续修复改写成绿**;
这些版本当时部署到本机,属于"未过远端门禁即上线"的既成事实,本台账如实保留。
- 0.1.116(run157 success)是第一个通过完整远端门禁的开发版本,但发布管理模块本身尚未完成全量验收,
因此不作为最终候选;最终候选必须同时满足"CI 全绿 + 业务验收证据",并在部署前交父会话审查。
- 生产侧从未执行任何写入、恢复或清理;本机部署仅替换治理平台自身容器(api/worker/web),
WeKnora(WKNFull-app)镜像与数据始终为原样。