确认草稿物化为 Canonical 实体时,若 (work+类型+规范名+范围) 命中既有实体,原 entityMapper.insert 触发 uk_muse_knowledge_entity 唯一冲突 → 未捕获的 DuplicateKeyException 冒泡成 HTTP 500(潜伏 bug,task_497da70f)。 修复:writeCanonicalEntity 前置 selectByIdentity 预检(镜像唯一约束列,不滤 deleted/status),命中则 markConflicted(REQUIRES_NEW 独立提交)+ 抛 KNOWLEDGE_ENTITY_DUPLICATE(1043002004)。必须前置预检而非 catch:PG 下唯一约束冲突会使当前事务进入 aborted 态,catch 后任何写(含 markConflicted)都会失败。 活体证(48080 真实 PG,反假绿):colliding 草稿 confirm → code 1043002004(HTTP 200,非 500);DB:草稿转 conflicted、实体数不变(无伪造重复)。正路径回归:knowledge-confirm e2e 绿。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
No description provided
Languages
Java
64.8%
TypeScript
17.2%
Vue
13.8%
HTML
1.5%
JavaScript
1.2%
Other
1.3%