docs: 二次修正 features 断言失实(5 处)—— 原判据「*.yml 无 features 块」被证伪
Phase 22 复验报告 D-22-D 的判据「backend/src/main/resources/*.yml 无 features: 块」是错的,
且被上一轮收尾照抄进 STATUS.md(P26-T06 行),属二次传播。
实测事实:
- application.yml(基础) → 无 features 块
- application-dev.yml(默认激活 profile,自 63cbbff)→ 有,21 键
- application-docker.yml(自 730dddd / Phase 23B) → 有
硬证据:dev 的 chat-image-enabled: true 覆盖了 FeatureFlagConfig 的 Java 字段默认 false ——
若「仅 Java 字段默认值生效」成立,该值不可能为 true。
仍然成立的部分:T01~T05 模块开关与 T07 私有桶确实全仓零业务调用点(实测 12 个 flag 的
调用点计数全为 0),「死配置」结论正确;失实的只是来源(非 application.yml、非「仅 Java 默认值」)。
新发现 D-22-E:AppController#getConfig(GET /app/config)返回一份硬编码 features map
(imageChatEnabled 恒 true,键名与后端 chatImageEnabled 不一致)→ 与 FeatureFlagConfig 双源,
前端读到的开关可能与实际配置相反(如 appealEnabled 实际默认 false)。不静默改契约,登记为遗留。
修正落点:STATUS.md(P26-T06 行 / Phase 22 段 / 历史声明块)、Phase-22 报告(表格行 + D-22-D +
新增 D-22-E)、JIRA_BACKLOG.md、Phase-V11-Deployment-Completion-Report.md、
治理报告新增第九节(含「同一文件并行 Edit 会随机丢失」的事故记录与纪律)。
This commit is contained in:
@@ -10,8 +10,11 @@
|
||||
|
||||
- 「E2E **16/16 PASS**」→ **推翻**。Phase 23 复验发现原用例在 import 期即崩,且断言大量只比对
|
||||
**常量字符串**;E2E 在 CI 上**从未真正通过过**。Phase 23B 已重建 E2E 基建(真栈 + conftest + seed 账号)。
|
||||
- 「Feature Flags(15 项)PASS」→ **推翻**。Phase 22 证实 4 份 `application*.yml` **没有 `features:` 块**,
|
||||
15 个 flag 实为 Java 字段默认、且业务代码**从不读取**(死配置)。
|
||||
- 「Feature Flags(15 项)PASS」→ **推翻**。Phase 22 复验证实 10 个模块级 flag(T01–T05 及同类)全仓
|
||||
**零业务调用点**,运维无法经开关关闭对应模块(死配置);另 `AppController#getConfig` 返回**硬编码**
|
||||
第二份 features,与 `FeatureFlagConfig` 构成双源(D-22-E)。注:Phase 22 初判「4 份 `application*.yml`
|
||||
没有 `features:` 块」**已被证伪**(2026-09-18 二次修正)—— `application-dev.yml` / `application-docker.yml`
|
||||
均有该块且实际生效,仅基础 `application.yml` 不提供。
|
||||
- 部署端口表(Admin 8086 等)→ **取代**。管理端已收敛至 `/admin/` 子路径,端口 13520(dev)/ 13521(staging)。
|
||||
- 3 项「已知限制」→ 不再由本报告跟踪,以 `docs/JIRA_BACKLOG.md`、`REMAINING_WORK.md` 为准。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user