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:
@@ -61,6 +61,31 @@ def test_conflict_refs_default_empty() -> None:
|
||||
assert conflict.refs == []
|
||||
|
||||
|
||||
def test_conflict_patch_fields_default_none() -> None:
|
||||
# 一键采纳补丁字段(original/replacement)可缺:不可定位的冲突两者留空。
|
||||
conflict = Conflict.model_validate(
|
||||
{"type": "设定违例", "where": "战斗场景", "suggestion": "删去违例能力"}
|
||||
)
|
||||
assert conflict.original is None
|
||||
assert conflict.replacement is None
|
||||
|
||||
|
||||
def test_conflict_carries_patch_pair_when_localizable() -> None:
|
||||
# 可局部修复:original 逐字原文最小句段 + replacement 改后文本,供前端一键 find-replace。
|
||||
conflict = Conflict.model_validate(
|
||||
{
|
||||
"type": "设定违例",
|
||||
"where": "第1段",
|
||||
"refs": [],
|
||||
"suggestion": "迈巴赫改为奔驰",
|
||||
"original": "迈巴赫扬长而去的尾灯",
|
||||
"replacement": "奔驰扬长而去的尾灯",
|
||||
}
|
||||
)
|
||||
assert conflict.original == "迈巴赫扬长而去的尾灯"
|
||||
assert conflict.replacement == "奔驰扬长而去的尾灯"
|
||||
|
||||
|
||||
def test_continuity_spec_is_analyst_tier() -> None:
|
||||
assert continuity_spec.tier == "analyst"
|
||||
assert continuity_spec.name == "continuity"
|
||||
|
||||
Reference in New Issue
Block a user