// R3 · 验收前「本次将更新」清单(HITL gate,UX §7.4)。 // 只列后端 accept 事务确实会做的事(projects.py accept 端点):晋升版次 + 提炼章节摘要 // + 写回裁决 + 验收后伏笔到期扫描。**不**声称改人物 latest_state / 自动落库伏笔建议 // (那些不在 accept 事务里)。最终口径以后端 AcceptResponse 回执为准。 // 纯逻辑,便于 node 环境单测。 export interface AcceptPreviewInput { conflictCount: number; foreshadowSuggestions: number; } export interface AcceptPreviewItem { label: string; detail: string; } // 据现有客户端 state 生成验收前预览项(非落库口径,仅给作者一个「将要发生什么」的预期)。 export function buildAcceptPreview({ conflictCount, foreshadowSuggestions, }: AcceptPreviewInput): AcceptPreviewItem[] { const items: AcceptPreviewItem[] = [ { label: "晋升章节版次", detail: "终稿晋升为新的接受版本(旧草稿保留可追溯)", }, { label: "提炼章节摘要", detail: "从终稿提炼一行摘要,追加到记忆真源", }, ]; if (conflictCount > 0) { items.push({ label: "写回冲突裁决", detail: `${conflictCount} 条裁决落库留痕`, }); } items.push({ label: "扫描伏笔到期", detail: "验收后台扫描,可能将逾期伏笔置为 OVERDUE", }); if (foreshadowSuggestions > 0) { items.push({ label: "伏笔建议待登记", detail: `${foreshadowSuggestions} 条只读建议,验收不自动落库,需你另行登记`, }); } return items; }