V1.0.1 纠偏 DoD 补齐:canonical key 字面化(V051+KEY_ALIASES)+ 照片并发突破实测(锁用户行+锁后计数)+ AGENTS 规则27 + known-risks
按文档 DoD/约束逐条复查后补齐的差距(承接 438b38d 主体纠偏):
- CFG-001 字面化:FeatureFlagConfig.KEY_ALIASES(identity.liveness.enabled / 遗留
livenessVerification.enabled → 实现字段 livenessEnabled,读兼容)+ Controller PUT/DELETE
落库归一到 canonical 键 + V051 迁移(删遗留键、写入 identity.liveness.enabled=false);
MigrationValidationTest 基线 50→51。
- PHOTO-004 真实并发突破:新增 PhotoLimitConcurrencyGuardTest(3 线程 H2 并发冲顶)——
实测咬住「锁照片行+读时计数」在 H2 MVCC 快照漏读、3/3 全成功突破上限的缺陷;
并发控制改为锁用户行(UserMapper.lockUserRow FOR UPDATE)+ 锁后新语句 COUNT,
0 张照片亦有锁可加(补首张并发缺口);UserPhotoMapper 计数方法同步替换。
- FF-LIVENESS-003 + canonical 持久化:FeatureFlagPersistenceGuardTest +4
(canonical 加载 / 遗留别名读兼容 / PUT 落 canonical 键 / 切换即生效无旧缓存)、
FeatureFlagControllerTest +3(canonical/legacy/reset)。
- 文档同步:AGENTS.md 规则 27(配置治理纪律);docs/governance/known-risks.md
(7 项含本机 WSL/Docker 故障 KR-07);config-register / open-questions 更新 canonical 口径;
STATUS rc.21 行补 ⑥⑦⑧。
全量回归 741/0/0/3(基线 717 + 25 新增 − 1 删死测试,宿主机 JDK21+Maven 3.9.9 实测,
本机 WSL/Docker 引擎故障期间);UI 契约门禁 18/18
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# 已知风险 — known-risks.md
|
||||
|
||||
> **版本**:V1.0.1 配置与规则纠偏基线 · **生效**:2026-09-21 · **owner**:WorkBuddy
|
||||
> 登记「已知但本轮不处置」的风险与债务。每项注明触发条件、影响面、处置去向。
|
||||
|
||||
---
|
||||
|
||||
| # | 风险 / 债务 | 影响面 | 处置去向 |
|
||||
|---|------------|--------|----------|
|
||||
| KR-01 | **minio pin tag 拉取失败**:`minio/minio:RELEASE.2025-09-07T16-13-09Z` 在本机拉取被拒(疑似上游清理或代理限制);E2E 序列用临时 backend 镜像绕过,S3 用例未触 | 本机 E2E 全栈序列;生产部署镜像拉取 | 换 pin 版本或走可拉取的镜像源;上 CI 后实测。生产 compose 未改。 |
|
||||
| KR-02 | **`system_configs` 死表**:V001 建表 + seed(match_rule_version/daily_recommendation_limit/match_score_threshold='60'/recommendation_cooldown_days)+ demo-seed 一批 flag 行,**0 个 Java 读取点**;与活键 `match.*` / `features.*` 各写一份(seed 与代码漂移) | 配置可信源混淆(运维改 system_configs 不生效) | 未来迁移裁定:整体退役(DROP 需专门迁移)或接成真实配置源。见 config-drift-audit §一。 |
|
||||
| KR-03 | **`match_rule_configs` 死表**(V006,含 10 维权重 + minimum_score)+ `MatchRuleConfigMapper.findActive/findByVersion` 无调用方 | 规则版本化走轻量路线(rule_version + V050 threshold_snapshot),此表闲置 | 未来项:接成「规则版本唯一读取源」或删表。见 config-drift-audit §二。 |
|
||||
| KR-04 | **打分占位未产品化**:`calculateScore` 恒 50.0、互选公式 0.6/0.4、level 分档 80/60 均硬编码(V1 占位) | 推荐分数无业务含义,不得对外包装「匹配成功率」 | 正式化时随 10 维权重一起配置化 + 记入规则版本(open-questions OQ-MATCH-001 关联项)。 |
|
||||
| KR-05 | **本地资格佐证到期清理作业未实现**:`features.localEvidenceRetentionDays=365` 仅配置,无 @Scheduled 清理任务(文件本体交对象存储生命周期规则兜底) | 佐证文件可能超期留存 | Phase 22 运维任务(Phase-04 报告 :46 登记)。 |
|
||||
| KR-06 | **GitHub Actions 实测未跑**:E2E 65/65 与回归 733/740 均为本机实测;CI 流水线未推过一次绿 | 「CI 绿」仍依赖一次推送 | 批 3 遗留项(Phase 24 启动前);一次 push 触发。 |
|
||||
| KR-07 | **本机 WSL/Docker 环境故障(2026-09-21 发现)**:`LxssManager` 服务缺失、`wsl -l` 报「Linux 子系统未安装」,Docker Desktop(WSL2 引擎)无法启动引擎;需管理员权限修复(`wsl --install` / DISM 虚拟机平台) | 本机 docker 容器跑 maven 的路径暂时不可用(已改用宿主机 JDK+Maven 兜底);E2E 活栈序列需 Docker 恢复后重跑 | 用户侧以管理员身份修复 WSL;修复后验证 `danyang-match-backend-test` 镜像仍可用(数据根 `D:\Data\Docker-Windows`)。 |
|
||||
|
||||
---
|
||||
|
||||
*最后更新: 2026-09-21 — 登记 7 项已知风险(minio / system_configs 死表 / match_rule_configs 死表 / 打分占位 / 佐证清理作业 / CI 实测 / 本机 WSL 故障)。*
|
||||
Reference in New Issue
Block a user