合并时 errorReasons.js/errorReasons.ts 未被判定为冲突,git 自动把 主线首批4个条目和候选分支的完整版本拼在了一起,导致同一语义有两套 命名(如 ap_operations.feature_disabled 与 ap_operations.disabled 并存)。删除主线这4条已被取代的旧条目,保留候选分支的完整版本。 check-error-reason-contract.mjs 主检查+self-test 均恢复 PASS。 Co-Authored-By: Claude Sonnet 5 <[email protected]>