docs: 状态文件同步到 2026-09-18 实况(方案任务三)

- STATUS.md:顶部权威行由 "PHASE 20 COMPLETE"(09-17)更新为 09-18 口径(Phase 01~22 关闭 /
  Phase 23 部分关闭 / 三轮横向加固 / 669 tests / 停在 Phase 24 门前);版本演进表补 rc.11~rc.16;
  **合并三处重复的「V1.1 本地部署完成 (2026-09-09)」区块为一处**(996 行 → 946 行)并加
  「历史记录边界」声明;清「Phase 04~05 ⏳ 待开发」等与实测矛盾项。契约锚点全部保住
  (UI REDESIGN ACCEPTED BY USER / Phase 07 已通过用户验收 / 管理后台: http://localhost:13520/)。
- AGENTS.md + STATUS.md:UI 契约门禁口径 13/13 → **14/14**(历史时点行保留原值并注明,
  不篡改史实)。
- JIRA_BACKLOG.md:Epic 总览表补 P14/P15/P19~P23 的 ✅(P23 标「部分关闭」)。
- 客户需求基线计划:Phase 07 标题去 "UI REOPENED";Phase 10~15/19 补 ✅;Phase 20/21 勾选
  checkbox 并注日期;**Phase 22 如实标「未复验」**(口径澄清:计划的 Deployment/Ops 与 STATUS 的
  「部署运维配置扩展(Feature Flag)」是两份不同工作,后者复验结论不构成本节证据);
  Phase 23 标「部分关闭」,第 3/5 项(E2E 场景实现、CI 串联)**不虚勾**。
- PENDING_DECISIONS.md:历史部署声明 10 项按各 Phase Recovery 报告证据回写处置结果
  (9 项已关闭 / 1 项部分);补登 HTTP 与幂等检修遗留的第三方开放待决策 7 项。
- REMAINING_WORK.md:整体重写 —— 原文称 CHANGELOG 3.3MB(实为 4234 字节)、P1-3 指向从未存在的
  Phase-23-Completion-Report.md;改为「已关闭 / 仍未完成 / 原编号索引 / 验收标准」四段,保留原编号
  以便对照历史引用。
- database 两份:TABLE_INVENTORY 40 表 → **59 表**(带「来源迁移」列);MIGRATION_GUIDE
  V001~V011 → **V001~V046(46 个)**;两份均标注「以 backend/src/main/resources/db/migration/ 为准」。
This commit is contained in:
WorkBuddy
2026-09-18 21:15:29 +08:00
parent 4f37df3284
commit ae2405f645
8 changed files with 347 additions and 498 deletions
+37 -13
View File
@@ -84,20 +84,44 @@
---
## V1.1 历史部署声明(当前待复验)
## V1.1 历史部署声明(复验处置结果,2026-09-18 回写)
以下记录只说明相关代码、配置或迁移曾被创建。重新审查已发现部分声明与实际运行不一致,因此在对应 Phase 重新通过前不得称为“已上线”:
以下记录只说明相关代码、配置或迁移曾被创建。重新审查曾发现部分声明与实际运行不一致,故在对应 Phase 重新通过前不得称为“已上线”。
| 决策项 | 确认值 | 状态 |
> **2026-09-18 文档治理**:按各 Phase Recovery 报告的实测证据回写处置结果 ——「待 Phase XX 复验」不得长期停留为悬空状态。
| 决策项 | 确认值 | 处置结果(2026-09-18 回写) |
|--------|--------|------|
| 首页8核心入口固定顺序 | 找对象/公益红娘/公益活动/婚恋咨询/婚恋课堂/婚前辅导/婚恋反诈/善缘服务站 | 待 Phase 07 复验 |
| Banner仅内部跳转 | target_type CHECK约束已生效 | 待 Phase 07/19 复验 |
| 活动互选二阶段同意 | 互选→双方确认→Match/Conversation | 已发现闭环缺失,待 Phase 16 修复 |
| Counselor只能访问Assigned Service | Assigned DataScope | 已发现接口绕过风险,待 Phase 02/13A 修复 |
| ContentEditor零用户数据权限 | 默认无user.view权限 | 待 Phase 02 负向测试 |
| ServiceStationOperator数据范围 | 仅服务站相关操作 | 已发现越权风险,待 Phase 02/19 修复 |
| 本地资格与实名认证分离 | 独立表、独立流程 | 数据结构存在,待 Phase 04/05 复验 |
| 运营商密码登录 | 凭证由本地环境变量或安全 Seed 提供 | 不在文档保存密码 |
| Feature Flags灰度控制 | 配置项存在 | 待 Phase 07/22 验证实际联动 |
| V1.1仪表盘 | 统计接口存在 | 已发现权限和口径风险,待 Phase 20 修复 |
| 首页8核心入口固定顺序 | 找对象/公益红娘/公益活动/婚恋咨询/婚恋课堂/婚前辅导/婚恋反诈/善缘服务站 | ✅ 已关闭(Phase 07 业务复验 2026-09-13;UI 首批 11 页 2026-09-16 通过用户验收) |
| Banner仅内部跳转 | target_type CHECK约束已生效 | ✅ 已关闭(Phase 19 复验 2026-09-17;外链校验 + 软删过滤已修) |
| 活动互选二阶段同意 | 互选→双方确认→Match/Conversation | ✅ 已关闭(Phase 16 复验 2026-09-17;**原「双确认后根本不建 Match/会话」Gate 缺陷已修**) |
| Counselor只能访问Assigned Service | Assigned DataScope | ✅ 已关闭(Phase 13A 复验 2026-09-17;INV-012 守卫 + 权限矩阵守卫) |
| ContentEditor零用户数据权限 | 默认无user.view权限 | ✅ 已关闭(权限矩阵守卫由硬编码改为**扫描全部迁移**,消除后续迁移权限变更隐形) |
| ServiceStationOperator数据范围 | 仅服务站相关操作 | ✅ 已关闭(Phase 19 复验 2026-09-17;**原类级 `view` 兜底致越权写已修**,权限下沉方法级并纳入覆盖守卫) |
| 本地资格与实名认证分离 | 独立表、独立流程 | ✅ 已关闭(Phase 04/05 复验 2026-09-12) |
| 运营商密码登录 | 凭证由本地环境变量或安全 Seed 提供 | ✅ 纪律项(非待办):不在文档保存密码,继续由环境变量/安全 Seed 提供 |
| Feature Flags灰度控制 | 配置项存在 | ⚠️ **部分关闭**(Phase 22 复验 2026-09-18):`FeatureFlagController` 的 2 处真实缺陷已修;但 **T01~T05 与 T07 为「死配置」——配置暴露但从未被业务读取**,已如实降级登记,交各模块 Phase 处理 |
| V1.1仪表盘 | 统计接口存在 | ✅ 已关闭(Phase 20 复验 2026-09-17;**D12 口径造假/死代码/系统性软删过滤修复 45 处**) |
---
## 第三方开放 / 平台化遗留待决策项(2026-09-18 补登)
> 来源:`docs/HTTP语义检修报告-2026-09-18.md` 第六节「遗留:真正开放第三方还需要什么」+
> `docs/幂等键检修报告-2026-09-18.md` 第七节「遗留与需要留意」。
> 均属**范围扩张**,需产品决策 —— 本轮及此前检修均**未擅自实施**。
| 决策项 | 现状(已就位部分) | 待确认 |
|---|---|---|
| 第三方凭据机制 | 目前只有微信登录与运营账号登录;第三方**无标准途径获取 token** | 是否定义 API Key / OAuth Client Credentials,及其**权限范围与配额** |
| 限流是否真实生效 | `RATE_LIMITED` 业务码与 429 映射已就位 | 限流本身**是否启用、阈值多少**(本轮未验证) |
| OpenAPI 文档对外发布 | `OpenApiConfig` 已存在 | 是否对外开放、**开放哪些端点** |
| `POST /activities/{id}/interests` 语义 | `API_INVENTORY` 曾承诺、后端**从未实现**;已更正文档并删除指向 404 的前端死代码 | 该端点**是否需要在 V1.1 内真正实现**(涉及活动意向的产品语义) |
| 第三方调用审计与配额计量 | 内部角色的敏感访问审计已就位(Phase 17) | 第三方需**独立的调用审计与配额计量** |
| 敏感字段脱敏边界(第三方场景) | INV-011 等约束面向内部角色 | 第三方场景需**重新界定**脱敏边界 |
| 幂等键 TTL 语义 | `idempotency_records` 有 TTL(默认 86400s)+ `idx_idempotency_expires` 清理扫描 | 需知悉:**清理后同一把键会被当作新操作** —— 幂等保证的是「短时间内不重复」,**不是「永久去重」**(永久去重仍由业务层唯一约束承担)。若开放第三方,需决定**键的 TTL 是否按调用方分级** |
---
*最后更新: 2026-09-18 — 历史部署声明 10 项已按各 Phase 复验证据回写处置结果;新增第三方开放遗留 7 项待决策*