diff --git a/.agent/skills/操作/检查与维护拆书结果/SKILL.md b/.agent/skills/操作/检查与维护拆书结果/SKILL.md index 02b0271..4738755 100644 --- a/.agent/skills/操作/检查与维护拆书结果/SKILL.md +++ b/.agent/skills/操作/检查与维护拆书结果/SKILL.md @@ -16,10 +16,20 @@ description: 检查拆书台账、歧义与失败窗口,按窗口重算或以 ## 操作步骤 1. `python -m muse 研究 进度 <来源ID>` 或「拆书工作区」台账查看状态。 -2. `python -m muse 研究 检查 <任务ID>` 查看完成窗、失败窗与歧义清单;歧义条目待「核对实体歧义」澄清,同名异型默认不合并。 +2. `python -m muse 研究 检查 <任务ID>` 查看完成窗、失败窗与歧义清单;歧义条目只登记、由作者人工判定(核对步骤见下),同名异型默认不合并。 3. 失败窗重算:经恢复入口带 `retry_windows` 指定窗口;已完成窗不重跑,成本包络含重试余量。 4. 来源新版本重建:直接重新发起拆解;旧版本分析保留可回查,版本身份不冲突。 +## 歧义人工核对 + +对歧义条目(同名不同类型的实体候选)逐项人工核对: + +1. 列出各候选的出现窗与证据引文。 +2. 依据上下文判断各候选是否同一实体;判断必须给出引文级依据。 +3. 结论只能是三态之一:同一实体(合并并说明)、不同实体(分别命名区分)、证据不足(维持歧义)。 + +不因为同名就直接合并;类型冲突的同名默认不同实体;只处理参考作品内部身份判定,不跨作品合并、不改写本书事实;证据不足时维持歧义,不做倾向性猜测。 + ## 边界 - 只撤销本任务可证明归属的中间产物;不触碰外部确认与来源版本。 diff --git a/.agent/角色/角色合同.md b/.agent/角色/角色合同.md index e8295f9..fa9c39b 100644 --- a/.agent/角色/角色合同.md +++ b/.agent/角色/角色合同.md @@ -9,7 +9,7 @@ roles: explicitModelRequired: true toolPolicy: readonly_tools planner: - displayName: 规划师 + displayName: 规划员 promptFile: .agent/角色/规划员.md modelPolicy: fixed modelPolicyVersion: role-policy-r2-v2 @@ -116,7 +116,7 @@ roles: -## planner:规划师 +## planner:规划员 **责任**:承接设定初始化、作品规划和单章细纲等规划任务;一次调用只执行任务包指定的一个功能合同,产出可比较或可校验的 Shadow 草稿。 diff --git a/docs/实现回顾/专项检查-台账.md b/docs/实现回顾/专项检查-台账.md index 37b4c5c..af60e6d 100644 --- a/docs/实现回顾/专项检查-台账.md +++ b/docs/实现回顾/专项检查-台账.md @@ -25,6 +25,7 @@ - **位置时效**:条目位置为 2026-09-16 检查时快照。优化执行重组了提示词、模块与测试文件结构,**路径一律以当前仓库为准**;本台账不逐条追改路径。 - **对象退场**:`数据库/旧库迁移/` 工具链及其用例已于 2026-09-18 整体退场(提交 `9712589`),`LM-01`~`LM-07` 与位置引用 `tests/迁移/test_PG作品正文迁移.py`、`test_作品资产迁移.py`、`test_混合知识分流.py`、`test_隔离目标台账.py` 等已删文件的条目(`TS-20`、`TS-50`、`TS-55`、`TS-61`、`TS-62`)失去核查对象,保留为历史发现。 - **过程材料留存口径**:14 份模块报告(`专项检查-报告-*.md`)与 `/tmp` 探针日志均为过程材料,受 `.gitignore` 忽略、不入版本库;台账中指向它们的路径仅在本地可读时有效。 +- **JF-03 处置(2026-09-19)**:经用户授权采纳删除方案——`src/muse/资料研究/提示词/核对实体歧义.md` 已删除(未登记、运行时不加载、承诺不存在的任务);研究命令与「检查与维护拆书结果」技能话术改为“歧义只登记,由作者人工判定”,人工核对步骤承接进该技能;`实体归并.py` 话术检查时已合规。原行保留为历史快照。 ## 0. 汇总 diff --git a/docs/系统架构/新版设计/模块设计/B03-资料研究.md b/docs/系统架构/新版设计/模块设计/B03-资料研究.md index cf18073..a5b21bf 100644 --- a/docs/系统架构/新版设计/模块设计/B03-资料研究.md +++ b/docs/系统架构/新版设计/模块设计/B03-资料研究.md @@ -42,13 +42,13 @@ | 分章切窗.py | 分章、窗口划分及输入漂移 | | 榜单快照.py | 来源、时间、质量、排名及观察差异 | | 样本选题.py | 样本比较、选题依据及选书交接 | -| 拆书分析.py | 当前逐窗分析的内联系统提示、输出合同与执行;提取章节、阶段、实体及写法 | +| 拆书分析.py | 逐窗分析的任务模板(发布包登记)、输出合同与执行;提取章节、阶段、实体及写法 | +| 提示词/拆书分析.md | 逐窗拆书分析任务模板;随发布包登记加载,不含身份句 | | 实体归并.py | 参考作品内专名、别名及歧义 | | 分析版本.py | 完整模型成果登记、旧检查点承接及运行摘要 | | 分析保存.py | 分析不可变存储合同、S04校验与S01未决旧卡写入 | -| 提示词/核对实体歧义.md | 作者人工核对歧义的参考说明;未接入自动核对任务 | -当前文件以[资料研究源码](../../../../src/muse/资料研究/)为准;原[目标文件清单](../项目目录与文件职责.md)及[文件合同](../文件设计/后端-B03-资料研究.md)保留历史设计目标,未消费的分析模板已退出。 +当前文件以[资料研究源码](../../../../src/muse/资料研究/)为准;原[目标文件清单](../项目目录与文件职责.md)及[文件合同](../文件设计/后端-B03-资料研究.md)保留历史设计目标,未消费的分析模板与人工歧义核对说明(核对实体歧义.md)已退出,歧义只登记、由作者人工判定。 ## 实现约束 diff --git a/src/muse/作品规划/提示词/生成作品规划.md b/src/muse/作品规划/提示词/生成作品规划.md index 6126ae1..8b8b0dc 100644 --- a/src/muse/作品规划/提示词/生成作品规划.md +++ b/src/muse/作品规划/提示词/生成作品规划.md @@ -1,6 +1,6 @@ # 生成作品规划 -你是规划师。本次只生成输入指定的一个规划对象,输出必须满足任务给定的 JSON Schema。 +本次只生成输入指定的一个规划对象,输出必须满足任务给定的 JSON Schema。 - 使用冻结材料中的目录、作者要求和允许模型读取的规划基线。方法材料是写作参考,不是本书事实。 - 保留作者已经确定的方向;引用只能使用材料中可核对的本书身份与版本。材料不足时不得虚构实体、来源身份或确认决定。 diff --git a/src/muse/作品规划/提示词/细化章节计划.md b/src/muse/作品规划/提示词/细化章节计划.md index 239cdc5..1767c7a 100644 --- a/src/muse/作品规划/提示词/细化章节计划.md +++ b/src/muse/作品规划/提示词/细化章节计划.md @@ -1,6 +1,6 @@ # 章级细纲 -你是规划师。本次只细化输入指定的一章的章级细纲,输出满足任务给定的 JSON Schema。 +本次只细化输入指定的一章的章级细纲,输出满足任务给定的 JSON Schema。 - 目标章号以冻结目录为准,不改章节身份。已确认的上层方向和作者要求优先。 - 将冲突、出场、事件方向和章末承接组织成可执行的章级细纲,不输出正文。 diff --git a/src/muse/审校修订/提示词/创作质量审阅.md b/src/muse/审校修订/提示词/创作质量审阅.md index 0026316..634fa3e 100644 --- a/src/muse/审校修订/提示词/创作质量审阅.md +++ b/src/muse/审校修订/提示词/创作质量审阅.md @@ -1,13 +1,13 @@ # 本书文学片审阅 -你是受控审阅角色。输入包含固定背景、已确认声音(可能没有)、完整片段语境与核心区间;不使用工具,不改写正文。 +输入包含固定背景、已确认声音(可能没有)、完整片段语境与核心区间;不使用工具,不改写正文。 - 对continuity(连续性)、craft(创作质量)、voice(声音)分别给出判断,不合并成一个文学通过分。 -- continuity依据本次允许的时点事实核对因果、视角和已知条件。没有确切外部依据时不能断言事实冲突,返回insufficient_evidence或ask。 +- continuity依据本次允许的时点事实核对因果、视角和已知条件。没有确切外部依据时不能断言事实冲突,返回insufficient_evidence(依据不足)或ask(追问)。 - craft关注人物行动、冲突、节奏、情绪与场景作用,解释具体阅读效果。不要仅凭禁词、比喻或句型命中要求修改。 -- voice只比较已确认指导;没有已确认声音则状态为uncalibrated,不给reviewed或repair。 +- voice只比较已确认指导;没有已确认声音则状态为uncalibrated(未标定),不给reviewed(已审阅)或repair(修订)。 - 每个问题只从本片核心区起点定位,可延伸到本片语境结尾。start/end使用全文Unicode码点左闭右开区间,quote必须逐字来自该位置。重复文字不默认选择第一次出现。 -- judgment为repair、retain或ask。有意表达可retain,未知信号可ask,零问题是合法结果。缺依据或未标定不得输出repair。 +- judgment(判定)为repair、retain(保留)或ask。有意表达可retain,未知信号可ask,零问题是合法结果。缺依据或未标定不得输出repair。 - basis_ids只能引用输入允许的依据ID。不要创造参考资料、人物事实或来源身份。 - reviewed表示本维给出了一次判断,不代表文学收益经过实验验证。禁止输出作者身份概率、检测器规避分数、自动采纳或伪造运行完成声明。 diff --git a/src/muse/接入/cli/研究命令.py b/src/muse/接入/cli/研究命令.py index 7bc735c..5db5661 100644 --- a/src/muse/接入/cli/研究命令.py +++ b/src/muse/接入/cli/研究命令.py @@ -150,7 +150,7 @@ def 运行研究命令(装配: 应用装配, 动作: str, 目标: str | None) -> if 结果 else ("history_not_imported" if 快照.状态.value == "completed" else "in_progress") ) - 状态["说明"] = "歧义条目待核对实体歧义任务澄清;失败窗可经重跑窗恢复。" + 状态["说明"] = "歧义条目只登记,由作者人工判定;失败窗可经重跑窗恢复。" return 状态 raise 配置错误(f"未知研究命令动作:{动作}") diff --git a/src/muse/正文写作/提示词/生成正文.md b/src/muse/正文写作/提示词/生成正文.md index 8762314..a806a22 100644 --- a/src/muse/正文写作/提示词/生成正文.md +++ b/src/muse/正文写作/提示词/生成正文.md @@ -1,6 +1,6 @@ # 生成正文(正文写作 · 无工具写作模板) -你是本作品的写手。你收到的是一次冻结装配的写作材料: +你收到的是一次冻结装配的写作材料: - 目标章细纲投影(目标、硬约束、关键事件、必出场对象、章末钩子); - 截止时点的历史正文投影与事实投影(如装配入选); @@ -11,7 +11,7 @@ 1. 只使用装配材料中的设定与事实;不得虚构与材料冲突的事实。 2. 严格覆盖细纲关键事件的顺序与结果方向;必出场对象必须实际出场。 -3. 用戏剧化叙述展开,禁止把细纲措辞原样搬进正文。 +3. 用戏剧化叙述展开(用动作、对白与细节呈现事件,不复述或概括事件),禁止把细纲措辞原样搬进正文。 4. 按当前场景和人物选择适用的已确认声音指导,保持作者认可的表达;口癖只在合适语境使用,不强塞到每句。 5. 依据当前文本判断声音偏移;保护表达用于保真,不要求新造或照抄剧情。人物事实与细纲仍约束声音指导的使用。 6. 词表命中只作观察线索,判断是否偏移须给出文本依据,不能直接判为缺陷。 diff --git a/src/muse/编排/生成规划.py b/src/muse/编排/生成规划.py index e994bcb..652f55f 100644 --- a/src/muse/编排/生成规划.py +++ b/src/muse/编排/生成规划.py @@ -316,5 +316,5 @@ def 发起生成规划(装配, 身份, 命令ID: str, 请求: 规划保存, 要 任务ID = 装配.任务运行.创建任务于(连, 任务, 流程身份, 流程版本) 配置 = 配置版本管理(库).冻结到任务于(连, 任务ID, 配置ID) if "planner" not in 配置.内容.角色配置: - raise 作品错误("CONFIG_INVALID", "选定配置没有规划师角色") + raise 作品错误("CONFIG_INVALID", "选定配置没有规划员角色") return {"task_id": 任务ID} diff --git a/src/muse/资料研究/提示词/核对实体歧义.md b/src/muse/资料研究/提示词/核对实体歧义.md deleted file mode 100644 index b267713..0000000 --- a/src/muse/资料研究/提示词/核对实体歧义.md +++ /dev/null @@ -1,17 +0,0 @@ -# 核对实体歧义 · 人工核对说明 - -歧义只登记,由作者人工判定。以下是人工查看证据时的参考步骤,尚无自动语义核对任务或自动合并入口。 - -## 核对步骤 - -对拆书归并中登记的歧义条目(同名不同类型的实体候选)逐项核对: - -1. 列出各候选的出现窗与证据引文。 -2. 依据上下文判断各候选是否同一实体;判断必须给出引文级依据。 -3. 结论只能是三态之一:同一实体(合并并说明)、不同实体(分别命名区分)、证据不足(维持歧义)。 - -## 合同 - -- 不因为同名就直接合并;类型冲突的同名默认不同实体。 -- 只处理参考作品内部身份判定;不跨作品合并,不改写本书事实。 -- 证据不足时维持歧义,不得输出倾向性猜测。 diff --git a/tests/集成/test_受控规划方法消费.py b/tests/集成/test_受控规划方法消费.py index 088b104..fd92b3c 100644 --- a/tests/集成/test_受控规划方法消费.py +++ b/tests/集成/test_受控规划方法消费.py @@ -112,7 +112,7 @@ def test_规划真实方法消费且只产出候选__20c01a(规划环境): task_id, 终态 = _运行(环境) assert 终态.状态 == 任务状态.已完成 assert len(环境["收到"]) == 1 and not 环境["收到"][0].get("tools") - assert "规划师" in 环境["收到"][0]["instructions"] + assert "规划员" in 环境["收到"][0]["instructions"] 输入 = json.loads(环境["收到"][0]["input"]) assert "用动作表现角色的迟疑" in 输入["装配材料"] assert "方法字段仅供规划定位,不应发给写手。" in 输入["装配材料"] @@ -190,7 +190,7 @@ def test_错误角色配置不留孤儿规划任务__20c02b(规划环境): 环境 = 规划环境 with 环境["库"].连接(只读=True) as 连: 前 = 连.execute("SELECT COUNT(*) FROM muse_task").fetchone()[0] - with pytest.raises(作品错误, match="规划师角色"): + with pytest.raises(作品错误, match="规划员角色"): 发起生成规划( 环境["装配"], 环境["作者"],