zizi 7f9114eca5 W13 旧用例承接补充:作者层路由与中文方法 Skill 的已跟踪文件改动
作者场景路由与指令、完善故事基础设定/合并故事方案/制定作品规划的技能中文化重构及其脚本、对应旧测试修改、SOT 导读、技能目录与实现回顾。此为 W13 阶段对已跟踪文件的改动,随批次按阶段整理补提交。
2026-09-10 19:39:47 +08:00

6.5 KiB
Raw Blame History

name, description, disable-model-invocation
name description disable-model-invocation
制定作品规划 按正式 schema 生成或修订作品设定包、大纲、知识卡、状态和装配草稿。前期方向已由用户选定并进入正式规划,或续作需要调整规划时使用;不写正文,未确认产物不进入生成上下文。单章 fine_outline(含 writer 硬依赖字段)只归 规划下一章;本 Skill 不得写入 section_type=fine_outline。 true

规划(scenario: planning | purpose: planning | 槽位: 规划→planner)

何时用:按当前阶段生成指定类型的规划,或按用户意图修订规划。阶段 0 交接先生成 setting,不因此一次产出全部设定包与大纲。产出全为草稿,未确认规划不进生成上下文。

元数据驱动(本功能的核心机制)

产出结构=schema 字段清单本身,不是"参考 schema":

产出 结构来源
设定.md frontmatter novel_work.yaml 逐字段
§作品核心 work_core.yaml 逐字段(谜底与真相/结局方向写进对应 aiContext 受限字段——底牌管理是规划的职责)
§世界观总纲 world.yaml;力量体系单列卡按 power_system.yaml
§文风画像 style.yaml(黑名单要具体词表、达标样张要真写一段)
大纲.md outline.yaml;近三章摘要写在大纲层,不伪装成可写 fine_outline
知识卡 各实体型 schema:基础字段(名称/别名/摘要/标签/来源=手工/状态=草稿)+特有字段
状态.md narrative_state.yaml 开书初始态
装配.yaml 四槽位默认件+知识绑定[]+作品级扩展字段{}

字段全覆盖:每个字段都要有内容;写不出=设计问题,标「字段存疑:原因」——这是验证元数据设计的一等产出,不许静默跳过。schema 加字段,设定包立刻多一节。

功能约束(规划方法论)

  1. 设定互相咬合:势力实力用力量体系阶梯表述;人物境界在阶梯上有座标;地点归属对得上势力地盘;主角起点与第一卷冲突强度匹配。写完自查,咬不合当场改。
  2. 伏笔成网:核心悬念拆成伏笔分布进分卷粗纲;每条有埋设章与计划回收章,登记进状态台账。
  3. 变奏自查:与品类烂大街套路的差异点写进题材定位;没有差异点推倒重来。
  4. 「说话方式」必须是可执行语言指纹(口头禅/句长/称呼习惯),不许"豪爽""高冷"空词。

输出合同

产出按 section_type 分类:设定(setting)/大纲(outline)/状态(state)/装配(assembly)。不含 fine_outline。planner 产出 schema 字段结构化内容(payload JSON),由主会话经 scripts/persist_planning.py 落 example_planning_section(先 shadow);works/<书名>/ 文件是人类可读留痕,规划正式权威在库。完成后报:字段存疑清单/咬合自查结论/伏笔台账条数。

fine_outline 归属:单章结构细纲的生成与落库权威归 规划下一章(meta/schemas/fine_outline.yaml)。本 Skill 的近章信息只写在 outline;persist_planning.py write --section-type fine_outline 必须带 --owner-skill 规划下一章,默认 制定作品规划 会失败关闭。

规划落库(shadow→confirmed)

  1. 落库:.venv/bin/python muse/lifecycle/flow/skills/book/制定作品规划/scripts/persist_planning.py write <payload.json> --work-id N --section-type <type> [--target-chapter N] [--schema-type X] [--version N](planner 不碰库/git,主会话落库;先 --dry-run 试跑)。
  2. 确认:persist_planning.py confirm <section_id>(用户确认后 shadow→confirmed;确认后的规划才进生成上下文)。
  3. 规划执行的输入/输出必须可追溯:record_planning_execution.py --section-id <id> 为已落库 section 登记 example_run、prompt/response raw 和 example_run_receipt;该记录标明 executionKind=deterministic_persist,不伪装成模型调用。 历史回执若误把确定性执行写成 model_match=true,使用 repair_deterministic_receipt.py --run-id <id> 追加修正 revision;旧回执保持不变。
  4. 公共范式选择使用 select_patterns.py --work-id <id> --intent "...":只从 scope=public_pattern 召回,结果写入 assembly 的 shadow,并把检索意图与候选投影落 raw/回执;未确认 assembly 不得进入正文上下文。
  5. 已确认细纲取用(准备任务上下文 改道读库,不再当内存参数):
    SELECT payload FROM example_planning_section
    WHERE work_id=? AND section_type='fine_outline' AND target_chapter=? AND state='confirmed' AND deleted=false
    ORDER BY version DESC LIMIT 1
    
  6. fine_outline 是章级 section,必须带 target_chapter;书级(设定/大纲/状态/装配)target_chapter 为空。

红线

不写正文;修订场景只动用户点名的规划面,并列出波及(哪些细纲/卡受影响)。 从前期设计进入时,先按 整理交付 接收作者明确选择的当前稿、约束与待决问题;最终选定记录须通过 完善故事基础设定/scripts/assert_selection_handoff.py 格式检查。该脚本不证明用户授权,也未接入 persist_planning 自动拦截,主会话必须核对真实用户回复。不得读未选方案冒充已定事实;不能用“待定”假装补齐必要字段。所生成 setting Shadow 须展示给用户另行确认。

失败关闭

  • persist_planning.py write:section_type 非法、fine_outline 缺 target_chapter、fine_outline 且 owner_skill≠规划下一章、payload 非对象、强制 schema 缺必填字段 → 整单不落库。
  • confirm:仅 shadow 可确认;状态不符或 section 不存在 → 非零退出,不半改。
  • select_patterns:空 intent 失败;未确认 assembly 不得进入正文上下文。
  • 落库异常原样抛出;--dry-run 不写库。
  • 正文前需要可写细纲时改派 规划下一章,不得用本 Skill 代写 fine_outline。

复利合同

  • 消费:公共范式检索(select_patterns)、schema 字段合同。
  • 回写:record_planning_execution 在 section 证据落库后经 propose_lesson_dedup 登记「规划 section 已持久化:{type}」(绑 run_id / section_id);select_patterns 经同一 recorder 覆盖。

输入

  • 用户明确点名本 Skill 所服务的创作阶段任务包(作品、章节/场景范围、冻结上下文摘要)。
  • 只消费 本 Skill 的 references/ 目录 中与当前阶段相关的合同段落。