--- name: merge-story-candidates description: 把多份已完成的前期设计候选逐章串行统合成一份新候选,一级章节一个 fresh 代理,权威顺序固定为根设定优先。用户明确要求综合多案时使用;不生成候选、不做机械门校验、不改前期设计 SoT。 disable-model-invocation: true --- # 逐章串行统合前期设计候选 何时用:`design-story-foundation` 已产出多份通过机械门的候选,用户明确要求"把这几案统合成一份"。用户直接指定主案时不用本 Skill。 候选的生成、冻结三级树与机械门校验归 `design-story-foundation`;本 Skill 只做统合,产物仍是待选候选。 ## 依赖边界 统合的每章任务包引用 `design-story-foundation` 的冻结三级树与 [章节内容规范](../design-story-foundation/references/chapter-content-spec.md);统合完成后的机械门仍由 `design-story-foundation/scripts/validate_candidates.py` 执行,本 Skill 不复制第二套校验。 完整节点合同见 [串行统合合同](references/serial-merge-contract.md)。 ## 输入 ```bash # ① 为当前一级章节构建输入包(最新根设定 + 已统合前文 + 各来源候选的本章) .venv/bin/python .agent/skills/merge-story-candidates/scripts/serial_merge.py packet \ --heading "<冻结的一级章标题>" --output /private/tmp/merge-packet-01.md <来源候选>... # ② 由主代理派发 planner 子代理 # 主代理把 planner 身份提示与 .agent/docs/architecture/角色合同.md 对应章节作为角色 prompt,输入仅包含 # serial-merge-contract.md 与当前 merge-packet-01.md;子代理无工具、fresh 会话, # 输出写到 /private/tmp/merge-raw-01.md,并由 record-run-evidence 保存派发回执。 # ③ 校验并接纳本章草案 .venv/bin/python .agent/skills/merge-story-candidates/scripts/serial_merge.py accept ... ``` 每章一个 fresh 高推理代理;不复用上一节点会话,不把来源候选的后续章节提前交给当前代理。 ## 输出 每章产出 ``(主轴、主要取舍、发现的前文冲突及处理)与 ``(可直接审定的章节草案)两个区块。主会话审定落盘后,该章成为下一节点的"已统合前文"。全部章节完成后得到一份新的统合候选文件。 ## 数据边界 - 允许读取:最新根设定、已统合前文、来源候选的当前章节。 - 允许写入:统合候选文件与 `/private/tmp` 下的任务包、原始输出。 - 数据库:不读不写任何表。 - Git:不执行 `add`、`commit` 或删除候选。 ## 红线 - 权威顺序固定:最新根设定 > 已统合前文 > 当前来源章节 > 最小补缝新增。来源候选没有投票权,不按票数取多数。 - 后章不得推翻前章已审定的因果、人物关系、数值、专名和披露节点。 - 不叠加多案互斥的卖点;故事只能有一条主发动机。 - 某章校验或语义复核失败时停在当前章,不得让后续代理基于未审定草案继续。 - 统合结果仍是待选候选,不自动进入唯一前期设计 SoT,也不自动交给 `plan-story`。 - 本 Skill 不提供模型 CLI 子命令。主代理必须按 07 领域派发合同启动 planner 子代理;不得把宿主命令、模型名或凭据固化进脚本。 ## 复利合同 - **消费**:多路候选方案与用户选定约束。 - **回写**:统合本身不落 `example_lesson`;选定方案进入 `plan-story` / `decide-candidate` 后由规划或确认链登记效果信号。