Commit 1251c274bb55b2870793471e5eb3463a1e13f703

Authored by zichun
1 parent 5c491c18

coding-start/README: 并行透传 parallel:{modules:true,maxWidth:3} + 阶段 B 文档同步——featur…

…es 闸刻意不传(留 Task 14 验收开启),逃生口 modules:false 完全回退串行
README.md
@@ -31,7 +31,14 @@ Claude Code 插件:ERP / 后端管理系统全流程开发框架。 @@ -31,7 +31,14 @@ Claude Code 插件:ERP / 后端管理系统全流程开发框架。
31 31
32 coding.mjs Router → 解析 docs/08 § 二/§ 三 + milestone/* / req-done/* git tag,列出待跑模块 32 coding.mjs Router → 解析 docs/08 § 二/§ 三 + milestone/* / req-done/* git tag,列出待跑模块
33 33
34 - ├─ B-后端(按模块循环,每模块一个里程碑 tag;功能链顺序 for-await,单工作树串行 commit) 34 + ├─ B-后端(按依赖波次推进模块,每模块一个里程碑 tag;模块内功能链仍顺序 for-await)
  35 + │ · 调度:LLM 只输出模块间依赖边(fk/api/seed/order…,宁串勿并、证据可查),
  36 + │ JS 做确定性拓扑波次(Kahn);同波次 ≥2 模块才启用并行机器,宽 1 波次走现行主根路径
  37 + │ · lane 隔离:并行模块各占 lane worktree(独立 index,commit 不争锁)+ lane 测试库
  38 + │ (ERP_TEST_DB_SCHEMA 打穿到 Spring)+ 专属 migration 版本段(版本号只保唯一、
  39 + │ 不保连续不保合并序,Flyway 须 out-of-order: true);milestone/RESUME 与起栈类 stage 全局互斥
  40 + │ · 降级:任何并行机制失败(调度违例/环/lane DB 不支持/worktree 建失败)一律 fail-open
  41 + │ 回现行串行路径,绝不因并行机制 halt;args.parallel 缺省或 modules:false 即全串行
35 │ runBranchSetup(module-<id>) ← JS 编排:detect default → wt clean → exists? → 42 │ runBranchSetup(module-<id>) ← JS 编排:detect default → wt clean → exists? →
36 │ checkout/create → confirm HEAD(5 微 agent) 43 │ checkout/create → confirm HEAD(5 微 agent)
37 │ → featureLoop(后端):spec → plan → tdd → verify → review(有界 5 轮修复, 44 │ → featureLoop(后端):spec → plan → tdd → verify → review(有界 5 轮修复,
skills/coding/coding-start/SKILL.md
@@ -97,12 +97,15 @@ Workflow({ @@ -97,12 +97,15 @@ Workflow({
97 scriptPath: "${CLAUDE_PLUGIN_ROOT}/workflows/coding.mjs", 97 scriptPath: "${CLAUDE_PLUGIN_ROOT}/workflows/coding.mjs",
98 args: { 98 args: {
99 projectRoot: "<git rev-parse --show-toplevel 的 stdout>", 99 projectRoot: "<git rev-parse --show-toplevel 的 stdout>",
100 - pluginRoot: "${CLAUDE_PLUGIN_ROOT}" 100 + pluginRoot: "${CLAUDE_PLUGIN_ROOT}",
  101 + parallel: { modules: true, maxWidth: 3 }
101 } 102 }
102 }) 103 })
103 ``` 104 ```
104 105
105 > `pluginRoot` 供 coding.mjs 调用插件 `lib/req-ledger.mjs` 在首跑时自动建立需求台账基线(P1#3,使日后 `/add-req` 能识别增量、免空跑);缺省则该增强静默跳过。 106 > `pluginRoot` 供 coding.mjs 调用插件 `lib/req-ledger.mjs` 在首跑时自动建立需求台账基线(P1#3,使日后 `/add-req` 能识别增量、免空跑);缺省则该增强静默跳过。
  107 +>
  108 +> `parallel` 是模块级并行总开关:`modules: true` 时 coding.mjs 先跑调度器(LLM 只输出模块间依赖边,JS 做确定性拓扑波次),同波次 ≥2 个后端模块各自在 lane worktree + lane 测试库 + 专属 migration 版本段内并行推进;任何调度/隔离环节失败一律 fail-open 降级串行,绝不因并行机制 halt。**逃生口**:改传 `parallel: { modules: false }`(或整个不传 `parallel`)即完全回退现行串行路径。`features`(feature 级并行)**刻意不传**——维持缺省关闭,待并行化计划 Task 14 收益评估通过后才在此处开启(附录补 1)。
106 109
107 ### 步骤 5:告知用户 Workflow 已启动 110 ### 步骤 5:告知用户 Workflow 已启动
108 111
@@ -118,7 +121,7 @@ Workflow({ @@ -118,7 +121,7 @@ Workflow({
118 ✓ Plan 完成态:docs/08 §一 A0~A5 全勾 121 ✓ Plan 完成态:docs/08 §一 A0~A5 全勾
119 ✓ 已取得 projectRoot(仓库根绝对路径),传入 Workflow 122 ✓ 已取得 projectRoot(仓库根绝对路径),传入 Workflow
120 123
121 - Workflow 将按模块顺序全自动、静默推进,跑完所有模块或在某模块 124 + Workflow 将按依赖波次全自动、静默推进,跑完所有模块或在某模块
122 halt(测试闸持续 RED / review 5 轮未过 / 缺值阻塞等)时返回最终状态。 125 halt(测试闸持续 RED / review 5 轮未过 / 缺值阻塞等)时返回最终状态。
123 halt 后请按诊断修复,再重新运行 /erp-workflow:coding-start 续跑 126 halt 后请按诊断修复,再重新运行 /erp-workflow:coding-start 续跑
124 (git 分支由 coding.mjs 自行处理:残留功能分支直接续用、新模块从默认分支建, 127 (git 分支由 coding.mjs 自行处理:残留功能分支直接续用、新模块从默认分支建,