feat(agents,api): 一致性冲突一键采纳补丁对 original/replacement + SSE/契约透传
- Conflict schema 增 original/replacement(可缺):可局部修复时审稿提议精确补丁 - 续审 prompt 指示填逐字 original + 改后 replacement,不可定位则留空 - orchestrator SSE conflict 事件 + apps/api ReviewConflictView 透传两字段 - 重生成 TS 客户端 schema.d.ts;memory/contracts.md 记录契约变更(向后兼容) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -68,6 +68,8 @@ _CONFLICT = Conflict(
|
||||
where="第3段「一拳轰碎山岳」",
|
||||
refs=["人物卡:主角:力量上限=裂石"],
|
||||
suggestion="改为震裂巨石",
|
||||
original="他一拳轰碎山岳。",
|
||||
replacement="他一拳震裂巨石。",
|
||||
)
|
||||
|
||||
|
||||
@@ -238,6 +240,9 @@ async def test_normalize_review_emits_section_conflict_done() -> None:
|
||||
assert events[0].data == {"name": CONTINUITY, "status": SECTION_DONE}
|
||||
assert events[1].data["type"] == "能力不符"
|
||||
assert events[1].data["refs"] == ["人物卡:主角:力量上限=裂石"]
|
||||
# 一键采纳补丁对透传到 conflict 事件(前端 find-replace 用)。
|
||||
assert events[1].data["original"] == "他一拳轰碎山岳。"
|
||||
assert events[1].data["replacement"] == "他一拳震裂巨石。"
|
||||
assert events[-1].data == {"length": 1}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user