You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.3 KiB
4.3 KiB
W2-T5 聚焦修复独立复审报告
- 评审对象:T5 I-1 聚焦修复工作区差异(基于
e3eecfe) - 前次评审:
changes/n03-skill-cloud/.superpowers/sdd/reviews/W2-T5.md,结论FAIL - 复审范围:仅检查
SkillCloudItem.java、SkillCloudQueryService.java、SkillCloudQueryServiceTest.java及其对既有行为的影响 - 结论:PASS
- 剩余阻断项:无
Finding 关闭状态
[I-1] 响应项遗漏技能来源标识:已关闭
修复已同时补齐 DTO 字段和 Service 映射:
D:\1\zhi\zhilai\mydreamjob-server\src\main\java\com\mydreamjob\skill\dto\SkillCloudItem.java:11-12- 新增
sourceType - 新增
sourceCode
- 新增
D:\1\zhi\zhilai\mydreamjob-server\src\main\java\com\mydreamjob\skill\SkillCloudQueryService.java:102-117toItem(...)在nameEn后依次映射projection.sourceType()和projection.sourceCode()(第 109-110 行)- 热度来源仍独立映射为
heatSourceCode、heatElementId、heatProxy(第 114-116 行)
字段语义未混淆:技能自身来源是 sourceType/sourceCode,O*NET Importance 来源是 heatSourceCode/heatElementId/heatProxy。
双来源测试与可证伪性:已关闭
D:\1\zhi\zhilai\mydreamjob-server\src\test\java\com\mydreamjob\skill\SkillCloudQueryServiceTest.java:198-236 同时锁定两类来源:
- O*NET 技术来源:第 219-220 行精确断言
sourceType = "O*NET"sourceCode = "15-1254.00|React|2.E.7.h"
- ESCO 技能来源:第 232-234 行精确断言
sourceType = "ESCO"sourceCode = "http://data.europa.eu/esco/skill/3cd569a2-4f88-4c1e-9995-8dce8c5e51a7"
- 来源隔离:第 235 行额外断言 JavaScript 的
heatSourceCode = "15-1254.00",与 ESCOsourceCode明显不同。
因此:
- 若
sourceType或sourceCode映射被遗漏并传为null,上述精确断言会失败。 - 若二者被交换,O*NET 与 ESCO 的精确值断言会失败。
- 若技能来源与热度来源混用,React 的完整 O*NET 三元组断言及 JavaScript 的 URI/SOC 对照断言会失败。
原有行为回归
独立执行指定环境与命令:
$env:JAVA_HOME='D:\java\jdk'
& 'D:\maven\apache-maven-3.9.7\bin\mvn.cmd' '-Dtest=SkillTaxonomyMigrationTest,SkillCloudSeedDataIntegrationTest,SkillTaxonomyRepositoryTest,SkillCloudQueryServiceTest' test
结果:
Tests run: 24, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS
Surefire 分类计数:
SkillTaxonomyMigrationTest:2SkillCloudSeedDataIntegrationTest:8SkillTaxonomyRepositoryTest:6SkillCloudQueryServiceTest:8
已核验原有行为:
- 全量查询、连续排名:
SkillCloudQueryServiceTest.java:62-81 - 热度降序、同热度名称排序、null heat 末位:
SkillCloudQueryServiceTest.java:84-107 - 同值排序的
skillId稳定性:SkillCloudQueryServiceTest.java:109-145 - 分类过滤及缺省分类:
SkillCloudQueryServiceTest.java:166-179 - 合法空分类返回空列表:
SkillCloudQueryServiceTest.java:181-196 - 必填/正整数/未知节点/跨行业职位/跨职位分类校验:
SkillCloudQueryServiceTest.java:238-264 - provenance 字段映射:
SkillCloudQueryServiceTest.java:198-236
本次修复没有改变排序、过滤、校验或热度来源映射逻辑,仅扩展响应字段与测试断言。
变更范围
自 e3eecfe 起,T5 实现差异仅包含:
SkillCloudQueryService.javaSkillCloudItem.javaSkillCloudQueryServiceTest.java
共 20 insertions, 3 deletions。未修改 V35/V36、Repository、安全配置或应用配置;未发现 T6/T7/T8 的 Controller、匹配度 Service、学习路径 Service 或权限配置实现。
非阻断备注
- M-1 仍为 Minor:设计文档中的
heatSource嵌套形态与当前三个扁平热度来源字段尚未统一,按前次评审要求留待 T8 明确 OpenAPI 和接口文档。 - M-2 仍为 Minor:Service 层未单独断言无 heat 技能的
sourceType/sourceCode;Repository 层已在该场景断言 Figma 保留来源(SkillTaxonomyRepositoryTest.java:183-188),且 Service 映射无条件执行,不构成阻断。
最终裁决
PASS。I-1 已关闭,指定联合回归全部通过,未发现新的 Critical 或 Important 问题;T5 可进入后续任务门禁。