# 版本台账(可审计) 开发版本号由 `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)镜像与数据始终为原样。