docs: STATUS 历史区收敛 951→783 行,修正两处残留假声明,同步治理报告与收尾计划

治理报告「八、遗留」第 2 项(STATUS 后半历史区过长)至此关闭。

STATUS.md(951 → 783 行,净减 168):
- 折叠 2026-09-09 期快照:Phase 01~11 逐项任务表 → 索引表(指向权威结论位置);旧 Phase 13
  首轮表 → 指针;「V1.0 基线状态 + 历史状态记录」两块 → 一段带历史边界声明的治理痕迹。
- 收敛作废/重复块:两块已作废的 Phase 22 历史声明、已作废的 Phase 23「已完成」声明、
  「整体进度总结」里重复的 Phase 24~26 摘要。
- 修正两处残留假声明(本轮新发现):
  ① `P26-T06 初始化Feature Flags | ✅ (application.yml配置)` → 标「不成立」(依据 Phase 22 复验:
     4 份 application*.yml 无 features 块,15 个 flag 实为 Java 字段默认且业务不读取);
  ② `Phase 23(V1.1专项测试)— 已完成 ✅` → 标「已被 2026-09-18 复验推翻,实为部分关闭」。
- 口径更新:UI 契约测试行 13/13 → 14/14(统一执行器 + 已接入 CI),并注明阶段 4 的历史时点值。
- 三个门禁锚点全部保留并复验:UI REDESIGN ACCEPTED BY USER、Phase 07…已通过用户验收、
  管理后台: http://localhost:13520/。

同步文档:
- 治理报告:4.4 漏网文档改为「已处置」;悬空引用表最后一行为已关闭;第七节补 UI 门禁入 CI、
  执行器负向验证、漏网文档处置三行,并改写 STATUS 收敛行;第八节改为「3 项遗留全部关闭」。
- 收尾计划:批 1 Task 1.1 标完成(Step 1~4 证据齐),并更正「15 个契约文件」为实测 14 个;
  验收口径由逐文件执行改为 `node scripts/run-ui-contracts.mjs`。

验证:`node scripts/run-ui-contracts.mjs` → PASS 14/14、退出码 0(含文档基线契约门禁)。
This commit is contained in:
WorkBuddy
2026-09-18 21:34:47 +08:00
parent b2ef60c04c
commit 70134dd62e
3 changed files with 92 additions and 241 deletions
+29 -13
View File
@@ -3,7 +3,9 @@
> **范围**:善缘丹阳公益婚恋服务平台全仓文档(约 200 份)。
> **触发**:用户「很多久的项目文档已经废弃,请按照最新的文档要求审查下」。
> **性质**:先只读审查(2026-09-18 首轮),再按审查结论逐项处置(同日续做)。
> **结论**:治理方案的五个任务**至此全部落地**;过程中发现并处置 9 项缺口、1 起环境级事故、2 份漏网文档。
> **结论**:治理方案的五个任务**至此全部落地**;过程中处置 **9 项缺口、1 起环境级事故、2 份漏网文档**,
> 并在验证阶段抓出 2 处新缺口(bundle 虚报、写死 hash),随后于收尾轮关闭全部 3 项遗留
> (漏网报告废止、STATUS 精简、UI 门禁入 CI)。
---
@@ -94,10 +96,11 @@
`gate-output/*.txt`(UI 验收证据)、`tests/uat/UAT-Test-Cases.md`、`releases/` 全部、
24 份 `*-Recovery-*` 报告、`.workbuddy/` 与 bundle 自保产物。
**另登记一份「保留待决」**:`docs/Phase-V11-Deployment-Completion-Report.md`(2026-09-09,含已被推翻的
「16/16 E2E 通过」)。它**不在**方案删除目标模式内(`Phase-V11-` 无数字段),且被**保留文档**
`Phase-01-V11-Recovery-Completion-Report-2026-09-09.md` 援引 —— 删除会制造悬空引用。
→ **不擅自删除**,登记待用户决定(删除需同步修改 Phase-01 的引用)。
**一份漏网文档:已处置(2026-09-18 收尾轮)** —— `docs/Phase-V11-Deployment-Completion-Report.md`
(2026-09-09,含已被推翻的「16/16 E2E 通过」与「Feature Flags 15 项 PASS」)。它**不在**方案删除目标
模式内(`Phase-V11-` 无数字段),且被 `docs/Phase-01-V11-Recovery-Completion-Report-2026-09-09.md` 援引
—— 删除会制造**新的悬空引用**。处置:**原地重写为废止声明**(保留路径,含「是什么 / 为何失效 /
取代者 / 为何保留」四要素),并把 `Phase-01` 报告与 `Phase-13A` 废止声明里的引用一并标注为「已废止」。
---
@@ -114,7 +117,7 @@ naive 扫描得 **29 处**,其中 **24 处合法**(出现在「已删除对
| `docs/superpowers/plans/2026-09-13-miniapp-11-core-pages-redesign.md` | `docs/MINIAPP_REFERENCE_UI_QA_2026-09-13.md`(从未入库) | ✅ 随 65 份清理一并消除 |
| `docs/superpowers/plans/…dual-client-ui-redesign.md` | `docs/UI_REFERENCE_REDESIGN_ACCEPTANCE_2026-09-13.md`(从未入库) | ✅ 同上 |
| `docs/STATUS.md`(在途版本) | `plans/2026-09-18-phase23-closeout-and-uat-readiness.md` | ✅ 计划已建(D1);STATUS 已引用 |
| `docs/Phase-01-V11-Recovery-…md` | `Phase-V11-Deployment-Completion-Report.md` | ⚠️ **保留**(删除会制造新悬空,见 4.4) |
| `docs/Phase-01-V11-Recovery-…md` | `Phase-V11-Deployment-Completion-Report.md` | ✅ **已关闭(收尾轮)**:目标文件原地重写为废止声明、**路径保留**;`Phase-01` 与 `Phase-13A` 中的引用均标注为「已废止」 |
> ⚠️ 本次教训:给目录扫描加 SKIP 时把 `archive` 排除,导致**归档目录自己的 README 没被扫到**,
> 而它恰好含一处真实悬空。归档目录必须扫。
@@ -146,7 +149,10 @@ naive 扫描得 **29 处**,其中 **24 处合法**(出现在「已删除对
| `ui-tests/ui-document-baseline-contracts.mjs` | **通过**(锚点齐全:`UI REDESIGN ACCEPTED BY USER`、`管理后台: http://localhost:13520/`、`Phase 07…已通过用户验收`) |
| UI 契约门禁全量 | **14/14 PASS**(2026-09-18 实测,全部退出码 0) |
| 数据库文档一致性 | `TABLE_INVENTORY` **59** 表 ⇄ 迁移实测 **59**;`MIGRATION_GUIDE` **46** 个 ⇄ 实测 **46** |
| STATUS.md 重复区块 | 「V1.1 本地部署完成」**3 处 → 1 处**(996 行 → 946 行) |
| STATUS.md 重复区块 | ①「V1.1 本地部署完成」**3 处 → 1 处**;② **收尾轮整体收敛:951 → 783 行(净减 168)** —— 折叠 2026-09-09 期 Phase 01~11 任务表、两块已作废的 Phase 22 历史声明、已作废的 Phase 23 声明、重复的 Phase 24~26 摘要;并修正**两处残留假声明**(`P26-T06 初始化Feature Flags ✅ (application.yml配置)`、`Phase 23(V1.1专项测试)— 已完成 ✅`) |
| UI 门禁入 CI(收尾轮) | 新增 `scripts/run-ui-contracts.mjs` 统一执行器 + `ci.yml` job **`ui-contracts`**;`ci.yml` 经 `yaml.safe_load` 校验,jobs = backend / admin-web / miniapp / migration / test-shell-guard / **ui-contracts** / e2e |
| 执行器自身可验证(负向注入) | 基线 `node scripts/run-ui-contracts.mjs` → **PASS 14/14、退出 0**;注入一个必然失败的守卫 → **FAIL、退出 1** 且打印原始输出;守卫数量下限分支以 `UI_GUARDS_MIN=99` 自检 → **正确拒绝报绿** |
| 漏网文档处置 | `Phase-V11-Deployment-Completion-Report.md` 原地重写为废止声明(102 → 22 行,**未删除**);`Phase-01`(引用行)与 `Phase-13A`(废止声明)里的引用同步标注「已废止」 |
| 门禁口径 | `AGENTS.md` / `STATUS.md` 已为 **14/14**,历史行保留 13/13 并注明时点 |
| bundle 覆盖(可复核) | `.workbuddy/backup/docs-governance-2026-09-18.bundle`;`git bundle verify` → *records a complete history*;`list-heads` 含 `refs/heads/main` 与 `docs-governance-2026-09-18-1~N` 全部治理 tag。⚠️ **ref 指向随每次提交变化,引用时不要写死 hash**,一律用 `list-heads` 与 `git rev-parse HEAD` 现场比对 |
@@ -154,12 +160,22 @@ naive 扫描得 **29 处**,其中 **24 处合法**(出现在「已删除对
## 八、遗留与下一步
1. **`Phase-V11-Deployment-Completion-Report.md` 待决**(4.4)—— 建议连同 `Phase-01-Reports` 的引用一并修订后移除。
2. **`docs/STATUS.md` 后半部历史区仍较长**(`V1.0 基线状态` 与 `当前 Phase` 段含 2026-09-09 的开发日志)——
已加「历史记录边界」声明,进一步精简需单独一轮。
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 .workbuddy/backup/<phase>-recovery-<date>.bundle --all`,**并且必须**用 `git bundle list-heads <file> | grep refs/heads/main` 确认指向的是最新提交(否则等于没有安全网,见 D7 补记)。
**本节原有 3 项遗留,已在收尾轮(2026-09-18 21:30 起)全部关闭**:
| 原遗留 | 处置 |
|---|---|
| `Phase-V11-Deployment-Completion-Report.md` 待决(4.4) | ✅ **原地重写为废止声明**(未删除)+ 修订 `Phase-01` / `Phase-13A` 中的引用 |
| `STATUS.md` 后半历史区过长 | ✅ 收敛 **951 → 783 行**(净减 168);折叠 2026-09-09 期任务表与已作废/重复块;修正两处残留假声明 |
| UI 门禁未进 CI(原稿误记为「15 个契约」) | ✅ 新增 `scripts/run-ui-contracts.mjs` + `ci.yml` job `ui-contracts`;**实测守卫为 14 个**,经负向注入与数量下限分支自检 |
**仍需处理(不属文档治理范围,需决策/另开一轮)**:
1. **Phase 24(UAT)启动需用户确认** —— 后端 669 全绿、UI 门禁 14/14,但 Phase 23 的 E2E 入 CI 仍受
「活栈供给方式」基础设施决策阻塞(见收尾计划批 2)。
2. **`Phase-V11-Deployment-Completion-Report.md` 路径仍在(内容已是废止声明)** —— 若后续确要真正移除,
须连同 `Phase-01` / `Phase-13A` 两处引用一并处理,并遵守本机删除红线(优先原地重写)。
**执行纪律**:删除类改动仍应分 3 个 commit(①删除 ②归档+头注 ③状态同步+计划+报告)+ 每 commit 后 `git tag`(**单段名**,分支名含 `/` 会被实时清理)+ `git bundle create .workbuddy/backup/<phase>-recovery-<date>.bundle --all`,**并且必须**用 `git bundle list-heads <file> | grep refs/heads/main` 确认指向的是最新提交(否则等于没有安全网,见 D7 补记)。
---