From b63a678285333600eb8e0c2c993cd2078f3b4733 Mon Sep 17 00:00:00 2001 From: yanghl Date: Sun, 14 Jun 2026 23:27:29 +0800 Subject: [PATCH] coding.mjs: 调度提示修复并行——order 边不再默认保留 docs/02 全序 --- workflows/coding.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/coding.mjs b/workflows/coding.mjs index 4c55fa2..61c28c9 100644 --- a/workflows/coding.mjs +++ b/workflows/coding.mjs @@ -364,7 +364,7 @@ function schedulerPrompt(todoBackendIds, allBackendIds, root) { '**绝不输出"并行组 / 波次"**——并行性是全局属性,由脚本侧拓扑推导;你只做局部、有证据可查的判断。', '', '## 保守偏置(最高优先级)', - '不确定就加边(kind=uncertain)。错误串行只损失时间,错误并行损失正确性。', + '对**真实依赖**(fk/api/seed/共享表/docs 显式约束)拿不准时就加边(kind=uncertain)——错误串行只损失时间,错误并行损失正确性。但"不确定"**仅指**怀疑存在真实依赖却证据不全;**绝不**把"在 docs/02 里靠后 / 排版顺序靠后"当作不确定理由——列序不是依赖(见 order 规则)。', '', '## 待跑后端模块(只对它们逐项输出 deps;`frontend-phase` 不在你的职责内——脚本硬规则强制它依赖全部后端模块)', todoBackendIds.map(id => `- \`${id}\``).join('\n'), @@ -373,7 +373,7 @@ function schedulerPrompt(todoBackendIds, allBackendIds, root) { allBackendIds.map(id => `- \`${id}\``).join('\n'), '', '## 边规则(按证据来源定 kind;方向:`dependsOn` 列出的是"必须先完成"的模块)', - `1. **order**(人定全序,默认全保留):\`${root}/docs/02-开发计划.md § 二 开发顺序清单\` 的模块顺序默认逐字保留——每个待跑模块对其在 docs/02 顺序中的**紧邻前驱**(待跑清单序)输出一条 order 边(链式边传递地保留全序)。**只有当**该模块与其全部前序待跑模块**逐对**都查不到任何 fk/api/seed 证据、**且** \`${root}/docs/06-实现策略.md\` 未对任何一对声明顺序约束时,才可松开(不输出该边);逐对核查中任一对命中证据 → 对该对输出对应 kind 的边。松开是例外,保留是默认。`, + `1. **order**(仅 docs/06 显式顺序约束才加;docs/02 列序**不是**依赖):\`${root}/docs/02-开发计划.md § 二 开发顺序清单\` 的列出顺序**只是开发计划的排版次序,绝不构成依赖**——**绝不**因某模块"在 docs/02 里靠后 / 是另一模块的紧邻后继"就对其前驱输出 order 边。order 边**只在** \`${root}/docs/06-实现策略.md\`(或 \`${root}/docs/01-需求清单/\` REQ 卡)**显式声明**"模块 X 必须先于模块 Y 完成"这类顺序约束时才输出,evidence 写"文件 + 小节 + 原文约束"。**关键**:对**已完成模块**(不在待跑清单内)的 fk/api 证据**绝不构成**两个待跑模块之间的 order 理由——order 只看**待跑模块两两之间**显式声明的顺序约束。两个待跑模块间查不到 fk/api/seed/共享表/docs/06 显式顺序约束 → 对该对**不加边**(让它们落进同一波并行,这是默认而非例外)。`, `2. **fk**:\`${root}/docs/03-数据库设计文档.md\` 中本模块归属表的外键引用了另一模块归属的表 → 本模块依赖对方。evidence 写"docs/03 + 表名.外键列 → 被引表"。`, `3. **api**:\`${root}/docs/05-API接口契约.md\` 中本模块消费另一模块提供的端点,或 \`${root}/docs/01-需求清单/\` REQ 卡「依赖接口」字段指向对方模块端点 → api 边。evidence 写"文件 + 端点路径"。`, '4. **seed**:演示种子跨模块主键引用(本模块种子数据需引用对方模块表已存在的主键)→ seed 边。evidence 写引用的表与主键区间出处。', -- libgit2 0.22.2