实现侧: - 上下文:任务范围拆分为 范围校验/范围授权;索引按可发现口径重建、索引新鲜度改对称差;依赖校验统一快照漂移说明。 - 知识方法:方法与材料读取口径统一;超限方法材料按可选省略,核对路径不再二次计费;删除无合同的读时重算。 - 任务运行:新增 context.usage/tool.denied 事件类型;连接池常驻并在装配生命周期内开关;调用结算与核对分列。 - 效果评测/审校修订/交付连载/作者经验/作品规划:凭据冻结、标定消费、导出补证、事实引文核对等收尾修复。 - 资源加载:能力正文不再夹带索引用的导航注记(该注记此前进入角色与技能的模型提示)。 - 元数据:受保护骨架与代码保护属性对齐;字段校验与内置结构口径同步。 - 基础设施:环境预检进入装配生命周期;数据库连接运行期字段不参与相等比较;索引指纹归一化 jsonb 浮点。 - 删除被替代实现:7 份旧提示词模板与空壳 资料来源 读取器。 用例侧: - 用例身份与导航元信息迁移;夹具补生命周期、同库暴露与模板封存; - 本轮定向修复:方法材料省略、事实引文、迁移回执、额度与暂停用例、慢用例超时预算等。
69 lines
2.6 KiB
Python
69 lines
2.6 KiB
Python
"""命令幂等与审阅版本:同命令重放同回执、章后任务不重复、异参数拒绝。"""
|
|
|
|
import pytest
|
|
|
|
from muse.共享.错误 import Muse错误
|
|
from muse.正文写作.接口 import 文本节点, 正文草稿, 段落
|
|
|
|
pytestmark = pytest.mark.数据库
|
|
|
|
|
|
@pytest.mark.case_id(
|
|
"NC-w16-w16b01",
|
|
environment="真实隔离 PG",
|
|
given="隔离数据库中的作品与已采纳正文",
|
|
when="相同保存命令重放返回既有回执且不重复登记派生",
|
|
then=["回执一致", "任务唯一"],
|
|
contract="docs/系统架构/新版设计/功能规格/P05-章后处理与事实复核.md",
|
|
)
|
|
def test_同命令重放同回执且章后任务不重复__16b011(章后环境, 章后工具):
|
|
环境 = 章后环境
|
|
环境["剧本"].append(章后工具.抽取输出("幂等摘要。", []))
|
|
任务1, 回执1 = 章后工具.保存一章("ch-1", "林深在码头。雨停了。", 命令="idem-save-1")
|
|
章后工具.跑任务(任务1)
|
|
|
|
# 完全相同的命令重放:返回既有回执,不再创建第二个章后任务。
|
|
回执2 = (
|
|
环境["装配"]
|
|
.要求正文()
|
|
.保存人工(
|
|
环境["作者"],
|
|
"idem-save-1",
|
|
"ch-1",
|
|
0,
|
|
正文草稿((段落("ch-1-p1", (文本节点("林深在码头。雨停了。"),)),)),
|
|
)
|
|
)
|
|
assert 回执2["receipt_id"] == 回执1["receipt_id"]
|
|
任务集 = {
|
|
s.任务ID
|
|
for s in 环境["装配"].任务运行.列出任务(环境["作者"].作者)
|
|
if s.流程.流程ID == "章后处理"
|
|
}
|
|
assert len(任务集) == 1
|
|
|
|
|
|
@pytest.mark.case_id(
|
|
"NC-w16-w16b02",
|
|
environment="真实隔离 PG",
|
|
given="隔离数据库中的作品与已采纳正文",
|
|
when="相同命令身份携带不同请求被拒绝",
|
|
then=["COMMAND_PAYLOAD_MISMATCH"],
|
|
contract="docs/系统架构/新版设计/功能规格/P05-章后处理与事实复核.md",
|
|
)
|
|
def test_同命令异参数拒绝__16b022(章后环境, 章后工具):
|
|
环境 = 章后环境
|
|
from muse.正文写作.接口 import 文本节点, 正文草稿, 段落
|
|
|
|
环境["剧本"].append(章后工具.抽取输出("首次摘要。", []))
|
|
章后工具.保存一章("ch-1", "第一版内容。", 命令="idem-save-x")
|
|
with pytest.raises(Muse错误) as 异常:
|
|
环境["装配"].要求正文().保存人工(
|
|
环境["作者"],
|
|
"idem-save-x",
|
|
"ch-1",
|
|
0,
|
|
正文草稿((段落("ch-1-p1", (文本节点("不同的内容。"),)),)),
|
|
)
|
|
assert 异常.value.错误码 == "COMMAND_PAYLOAD_MISMATCH"
|