Răsfoiți Sursa

chore(cross-val): finish agent invocation and retained reference index cleanup

lingfengQAQ 2 săptămâni în urmă
părinte
comite
a03f6d057b

+ 2 - 3
webnovel-writer/references/index/reference-gap-register.md

@@ -50,8 +50,8 @@
 | `writing/dialogue-writing.md` (231 行)         | 写作技法.csv(分类=对话)      | 同上            |
 | `writing/emotion-psychology.md` (265 行)       | 写作技法.csv(分类=情感)      | 同上            |
 | `writing/scene-description.md` (263 行)        | 写作技法.csv(分类=场景)      | 同上            |
-| `writing/desire-description.md` (311 行)       | 写作技法.csv(分类=情感)      | 同上            |
-| `writing/genre-hook-payoff-library.md` (85 行) | 场景写法.csv(场景类型=钩子/兑现) | 同上            |
+| `writing/desire-description.md` (311 行)       | 写作技法.csv(分类=情感)      | 保守保留原文;CSV 尚未覆盖欲念描写细节 |
+| `writing/genre-hook-payoff-library.md` (85 行) | 场景写法.csv(场景类型=钩子/兑现) | 保守保留原文;CSV 仅覆盖部分钩子/兑现条目 |
 
 
 ### 延迟(当前不纳入,条件触发后补回)
@@ -91,4 +91,3 @@
 | 言情核心场景扩展 | P1 | 继续补 `场景写法.csv` 中暧昧、误会、重逢、分手、追妻等场景 |
 | 悬疑推理技法扩展 | P1 | 继续补 `写作技法.csv` 与 `桥段套路.csv` 中线索、公平误导、真相揭露 |
 | shared md 可迁移审查 | P2 | `cool-points-guide.md`、`naming-and-voice-gaps.md` 的可条目化内容留待人工逐条录入 |
-

+ 2 - 0
webnovel-writer/references/index/reference-loading-map.md

@@ -102,5 +102,7 @@
 | `skills/webnovel-write/references/writing/dialogue-writing.md` | 已 stub 化,正文迁至 CSV `写作技法` |
 | `skills/webnovel-write/references/writing/emotion-psychology.md` | 已 stub 化,正文迁至 CSV `写作技法` |
 | `skills/webnovel-write/references/writing/scene-description.md` | 已 stub 化,正文迁至 CSV `写作技法` |
+| `skills/webnovel-write/references/writing/desire-description.md` | 保守保留原文;CSV 尚未覆盖欲念描写细节,当前未被 SKILL.md 直接加载 |
+| `skills/webnovel-write/references/writing/genre-hook-payoff-library.md` | 保守保留原文;CSV 仅覆盖部分钩子/兑现条目,当前未被 SKILL.md 直接加载 |
 | `skills/webnovel-review/references/common-mistakes.md` | 未在当前 review 流程中直接加载 |
 | `skills/webnovel-review/references/pacing-control.md` | 未在当前 review 流程中直接加载 |

+ 5 - 4
webnovel-writer/scripts/data_modules/tests/test_prompt_integrity.py

@@ -110,7 +110,7 @@ def test_skill_frontmatter_complete(skill_file: Path):
 
 
 # ---------------------------------------------------------------------------
-# 2. Agent 模板结构(9 段)
+# 2. Agent 模板结构(≥4 段)
 # ---------------------------------------------------------------------------
 
 EXPECTED_AGENT_SECTIONS = [
@@ -237,8 +237,8 @@ def test_webnovel_review_skill_uses_unified_reviewer_pipeline():
     skill_text = _read_text(SKILLS_DIR / "webnovel-review" / "SKILL.md")
 
     assert "`reviewer`" in skill_text
-    assert "Agent(" in skill_text
-    assert 'subagent_type: "webnovel-writer:reviewer"' in skill_text
+    assert "Use the Agent tool to run `webnovel-writer:reviewer`" in skill_text
+    assert "subagent_type:" not in skill_text
     assert "review-pipeline" in skill_text
     assert ".webnovel/tmp/review_results.json" in skill_text
     assert ".webnovel/tmp/review_metrics.json" in skill_text
@@ -454,7 +454,8 @@ def test_webnovel_init_deconstruction_wiring_keeps_confirmation_gate():
     """init may consume only confirmed, transformed reference patterns."""
     text = _read_text(SKILLS_DIR / "webnovel-init" / "SKILL.md")
 
-    assert 'subagent_type: "webnovel-writer:deconstruction-agent"' in text
+    assert "Use the Agent tool to run `webnovel-writer:deconstruction-agent`" in text
+    assert "subagent_type:" not in text
     assert "Step 1.5:灵感来源询问" in text
     assert "进入故事核采集前" in text
     assert "不要默认拆书" in text

+ 3 - 4
webnovel-writer/skills/webnovel-init/SKILL.md

@@ -80,10 +80,9 @@ export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT}/scripts"
 当用户选择参考作品拆书且提供文本路径或章节摘录时,必须使用 `Agent` 工具调用 `webnovel-writer:deconstruction-agent`,不得由 init 主流程口头替代拆解结果。
 
 ```text
-Agent(
-  subagent_type: "webnovel-writer:deconstruction-agent",
-  prompt: "reference_title={reference_title}; reference_source={reference_source}; reference_text_path={reference_text_path}; reference_text_excerpt={reference_text_excerpt}; analysis_mode={quick|deep|auto}; init_goal={当前初始化故事方向或空}; target_genre={题材或空}。只返回 init_reference_research JSON 对象,不写任何文件,不创建目录,不写 .story-system、.webnovel、设定集、大纲、正文、idea_bank.json、state.json 或任何 canon/read model 文件。"
-)
+Use the Agent tool to run `webnovel-writer:deconstruction-agent`.
+
+Prompt: reference_title={reference_title}; reference_source={reference_source}; reference_text_path={reference_text_path}; reference_text_excerpt={reference_text_excerpt}; analysis_mode={quick|deep|auto}; init_goal={当前初始化故事方向或空}; target_genre={题材或空}。只返回 init_reference_research JSON 对象,不写任何文件,不创建目录,不写 .story-system、.webnovel、设定集、大纲、正文、idea_bank.json、state.json 或任何 canon/read model 文件。
 ```
 
 处理规则:

+ 3 - 4
webnovel-writer/skills/webnovel-review/SKILL.md

@@ -66,10 +66,9 @@ cat "${PROJECT_ROOT}/.webnovel/state.json"
 必须通过 `Agent` 工具调用 `reviewer`。审查方法与维度细则由 reviewer 自带,本 Skill 不展开。
 
 ```text
-Agent(
-  subagent_type: "webnovel-writer:reviewer",
-  prompt: "chapter={chapter_num}; chapter_file={chapter_file}; project_root=${PROJECT_ROOT}; scripts_dir=${SCRIPTS_DIR}。严格输出 reviewer schema JSON,不评分,不口头总结。"
-)
+Use the Agent tool to run `webnovel-writer:reviewer`.
+
+Prompt: chapter={chapter_num}; chapter_file={chapter_file}; project_root=${PROJECT_ROOT}; scripts_dir=${SCRIPTS_DIR}。严格输出 reviewer schema JSON,不评分,不口头总结。
 ```
 
 reviewer 返回后,主流程把严格 JSON 写入 `${PROJECT_ROOT}/.webnovel/tmp/review_results.json`(reviewer 不持 Write,是这份 artifact 的非写入方)。