消除「经真实 AI 生成流产出的候选永远无法被采纳入正文」缺口(chip task_092cfc32):
- 新增 MuseAiCandidateReviewService:对生成正文做真实(轻量)审——输出合规扫描(空/凭据痕迹)
+ 静态检查(空白/超长)+ 许可限制快照透传;三项全过才给可追溯审结果 ID(绑定 generation+内容指纹),
任一不过则不给 → 调用方不写审字段 → Content 合并门禁如实拒绝(反假绿)。
- MuseAiRuntimeProjectionService.createRuntimeSuggestion:
· 顶层 content 写入候选 contentSnapshot(脱敏 summary,供 mergeBlockSuggestion facade 可用性检查;
完整 provider 原文按数据主权不持久化,采纳走 merge_after_edit 由用户回传所审正文)
· diff_summary 写齐三「审」字段(审查通过时)
· source_status 'verified'→'active'(原值既非来源状态机取值,又会被合并门禁拒绝)
· 数值授权快照:envelope id 为数值时落 authorization_snapshot_id(沿用 MuseSuggestionServiceImpl 的
envelope=authz 既有约定);非数值受 BIGINT 列限制,待授权快照建模收口(遗留)
验证(真实 PG,16/16 绿):
- MuseAiCandidateReviewServiceTest 5/0(真实审逻辑:通过/空/凭据泄露/许可透传/空值)
- MuseAiRuntimeProjectionServiceTest 5/0(回归:补 @Mock+stub 防 NPE)
- P1rContentMergeGeneratedSuggestionIT 1/0(机械门禁:真实 createShadowSuggestionCandidate 产候选
→ active/审/authz/content 由真实代码产出 → mergeBlockSuggestion 写入 Canonical)
- P1rContentMergeSuggestionIT 5/0(回归,未受影响)
至此 MVP #1「生成→采纳」活体闭环仅剩 1 个范围外阻塞:远端 dev 库缺 yudao 基座 schema(全栈 app 启动)。
Co-Authored-By: Claude Opus 4.8 (1M context) <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%