fix(ai): 修 AI 生成候选采纳断层,授权快照 id 改字符串承载 envelope(ADR-020 方案 A)
真生成候选 authorization_snapshot_id=null 恒不可采纳(1041001001),根因:runtime envelope 是字符串 rpe-local-uuid 但 authz 列 BIGINT 存不下,numericEnvelopeId/requireNumericAuthorizationSnapshot/parseLongQuietly 三处降级门禁致恒拒。方案 A(人类拍板,ADR-020):V30 迁移 muse_ai_suggestion+muse_content_block_source_attribution 的 authorization_snapshot_id BIGINT→VARCHAR(128)(仿 V14);AI 侧直落字符串 envelope(删 numericEnvelopeId);Content 放开两道数值门(删 requireNumericAuthorizationSnapshot/parseAuthorizationSnapshotId/parseLongQuietly);DO authz Long→String 全调用方适配;揭并修 P1rContentMergeGeneratedSuggestionIT 假绿(原注入数值 9001,真 runtime 不产数值,改真字符串 envelope)。活体真验(muse_slice_live,V30 applied):真生成 suggestion authz 现存 rpe-local 字符串→采纳 merge code=0+block revision 69→70(修复前恒 1041001001)→归因新行 authz 字符串,AI 生成→采纳→Canonical 全链打通。编译+test-compile SUCCESS,112 单测绿,未误伤 muse_agent_slot_binding(不在 V30 范围)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>