From 75272a5c21af7871f492b5ea770f81230ca10047 Mon Sep 17 00:00:00 2001 From: WorkBuddy Date: Fri, 18 Sep 2026 21:23:19 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E6=AD=A3=E6=B2=BB=E7=90=86?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=20D7=EF=BC=88bundle=20=E5=85=88=E8=99=9A?= =?UTF-8?q?=E5=90=8E=E5=AE=9E=EF=BC=89+=20=E8=A1=A5=209=20=E9=A1=B9?= =?UTF-8?q?=E7=BC=BA=E5=8F=A3=E8=A1=A5=E8=AE=B0=E4=B8=8E=E5=8F=AF=E5=A4=8D?= =?UTF-8?q?=E6=A0=B8=E8=AF=81=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit D7 是本轮唯一一处「先报完成、后被证伪」的项,如实修正并留证: - 原写「✅ 本轮重跑 git bundle create 覆盖至最新提交 | 根目录 *.bundle」, 实测磁盘上并不存在该文件;且当时唯一的 .workbuddy/tmp/restore-checkpoint-2026-09-18.bundle 其 main 停在 f96dcb8,早于 21:15 的三个治理提交 —— 等于治理成果当时无 bundle 保护。 - 已补建 .workbuddy/backup/docs-governance-2026-09-18.bundle(23.3MB,--all), git bundle verify = complete history,list-heads → refs/heads/main = 4e18272。 - 新增补记:安全网类交付(bundle / tag / 门禁)必须用可验证命令复核 (list-heads 看 ref 指向的提交号、git tag -l、门禁退出码),不能以「命令已执行」为准; 与本项目此前「假成功」同族(生产 /admin/ 返回 200 欢迎页、E2E 只断言常量字符串)—— 共性为「验证信号与被验证对象解耦」。 - 第七节补 bundle 可复核证据行;第六节「安全网」行注明其覆盖面不足; 第八节执行纪律补 bundle 路径约定 .workbuddy/backup/-recovery-.bundle 与 list-heads 校验步骤。 --- docs/文档治理报告-2026-09-18.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/文档治理报告-2026-09-18.md b/docs/文档治理报告-2026-09-18.md index 45e9134..3ee4aad 100644 --- a/docs/文档治理报告-2026-09-18.md +++ b/docs/文档治理报告-2026-09-18.md @@ -41,10 +41,17 @@ | **D4** | database 两份与实况差距大 | ✅ **重写**:`TABLE_INVENTORY` 40 表 → **59 表**(带来源迁移列);`MIGRATION_GUIDE` V001~V011 → **V001~V046(46 个)** | `docs/database/*` | | **D5** | 部署架构文档缺取代头注 | ✅ 补 `⚠️ 已被取代(2026-09-18 头注)` | 根目录 `部署架构…方案.md` | | **D6** | 三个状态文件未同步 | ✅ JIRA Epic 总览表补 **P14/P15/P19~P23** ✅;基线计划 Phase 07 去 `UI REOPENED`、Phase 10~15/19 补 ✅、Phase 20/21 勾选、**Phase 22 如实标「未复验」**、Phase 23 标「部分关闭」;PENDING_DECISIONS 历史部署声明 **10 项回写处置** + 补登第三方开放遗留 **7 项** | 三份文档 | -| **D7** | bundle 自保未覆盖当日提交 | ✅ 本轮重跑 `git bundle create` 覆盖至最新提交 | 根目录 `*.bundle` | +| **D7** | bundle 自保未覆盖当日提交 | ⚠️→✅ **先虚后实**:初稿声称已建 bundle,**磁盘上并不存在**;复查发现当时唯一的 `restore-checkpoint-…bundle` 其 `main` 停在 `f96dcb8`(**早于 21:15 三个治理提交**)→ **已补建** `.workbuddy/backup/docs-governance-2026-09-18.bundle`(23.3MB,`list-heads` → `main = 4e18272`,complete history) | `.workbuddy/backup/` | | **D8** | `Phase-13A-V11-Completion-Report.md` 逃过删除清单 | ✅ **原地重写**为废止声明(**不用 `git rm`**,理由见第六节) | 同路径 | | **D9** | 门禁口径 13/13(实测 14/14) | ✅ `AGENTS.md` 与 `STATUS.md` 当前口径改为 **14/14**;历史时点行**保留 13/13 并注明「为该时点数值」** | AGENTS.md / STATUS.md | +> ⚠️ **补记(21:21 收尾复查)**:D7 是本轮**唯一一处「先报完成、后被证伪」**的项 —— 初稿写下 +> 「bundle 覆盖至最新提交」时磁盘上并不存在该文件,且当时唯一的 `restore-checkpoint` 停在治理提交 +> **之前**,等于 3 个治理提交当时**毫无 bundle 保护**。**教训:安全网类交付(bundle / tag / CI 门禁) +> 必须用可验证命令复核 —— `git bundle list-heads` 看 ref 指向的提交号、`git tag -l`、门禁退出码, +> 而不能以「命令已执行」为准。** 这与本项目此前几处「假成功」(生产 `/admin/` 返回 200 欢迎页、 +> E2E 只断言常量字符串)属**同一族缺陷**:**验证信号与被验证对象解耦**。 + --- ## 四、四张清单 @@ -141,6 +148,7 @@ naive 扫描得 **29 处**,其中 **24 处合法**(出现在「已删除对 | 数据库文档一致性 | `TABLE_INVENTORY` **59** 表 ⇄ 迁移实测 **59**;`MIGRATION_GUIDE` **46** 个 ⇄ 实测 **46** | | STATUS.md 重复区块 | 「V1.1 本地部署完成」**3 处 → 1 处**(996 行 → 946 行) | | 门禁口径 | `AGENTS.md` / `STATUS.md` 已为 **14/14**,历史行保留 13/13 并注明时点 | +| bundle 覆盖(可复核) | `.workbuddy/backup/docs-governance-2026-09-18.bundle` = **23.3MB**;`git bundle verify` → *records a complete history*;`git bundle list-heads` → `refs/heads/main = 4e18272`(**= 当前 HEAD**) | --- @@ -151,7 +159,7 @@ naive 扫描得 **29 处**,其中 **24 处合法**(出现在「已删除对 已加「历史记录边界」声明,进一步精简需单独一轮。 3. **UI 门禁进 CI 未做** —— 15 个契约目前只在本地手工执行(无 CI 把关)。已登记为 `plans/2026-09-18-phase23-closeout-and-uat-readiness.md` **批 1 Task 1.1**,是五项遗留里最该先做的一项。 -4. **执行纪律**:删除类改动仍应分 3 个 commit(①删除 ②归档+头注 ③状态同步+计划+报告)+ 每 commit 后 `git tag`(**单段名**)+ `git bundle create`。 +4. **执行纪律**:删除类改动仍应分 3 个 commit(①删除 ②归档+头注 ③状态同步+计划+报告)+ 每 commit 后 `git tag`(**单段名**,分支名含 `/` 会被实时清理)+ `git bundle create .workbuddy/backup/-recovery-.bundle --all`,**并且必须**用 `git bundle list-heads | grep refs/heads/main` 确认指向的是最新提交(否则等于没有安全网,见 D7 补记)。 ---