mc-breakdown · git:20261010.79a4f96 · 2026-10-10 · sha256 c1de47f5067efa6f

mc-breakdown git:20261010.79a4f96A

Immutable. This exact content never changes and is served at /api/v1/blob/c1de47f5067efa6f.

---
name: mc-breakdown
description: 任务拆解。当 mc-spec 或 mc-grill 共识清单已有拍板内容、用户说「拆成可执行的步骤 / 排个开发顺序 / 先做哪个 / 这功能切成几块」,或要开始一个多部件大功能(一批方块/物品/机制/维度)时激活:把规格拆成一串独立竖切片,每片声明依赖、最低验收层级(L0–L7)与对应开发工作流模板,首片用曳光弹打通最小可玩链路,产出 docs/breakdown-<主题>.md。只出清单不代实施,执行顺序由用户拍板。需求还没定先走 mc-grill / mc-spec,不拆猜测。
---

# mc-breakdown — 把已定的事拆成一串能独立验收的切片

一句话目标:把「已拍板的规格」变成「可一条条执行、一条条判红绿的开发顺序」,不让人一次吞下半个系统。

## 第 0 步 · 前置检查

- 有 mc-spec 产物(`docs/spec-*.md`)或 mc-grill 共识清单 → 以其为唯一切片依据。
- 都没有 → **停**,先走 mc-spec / mc-grill。从一句话需求直接拆,等于把没定的东西当已定排进顺序——拆出来的每片都是猜的。

## 第 1 步 · 切竖片,不切横层

- 竖切片 = 一片自己走完「注册 → 资源 → 行为 → 可验收」:例如「会掉特殊物品的方块 X」是一片;「所有方块」「所有纹理」「所有配方」三横层是错的切法——横层片没有独立可演示的玩家行为,红了也定位不到是哪一类内容的问题。
- 首片放**曳光弹**:最小完整链路(一个占位方块进游戏、有模型有掉落),目的是先把工程骨架、构建链、验收链跑通,后面的片不堆在沙上。
- 每片五要素:**编号名 / 玩家可见行为一句话 / 依赖(哪些片必须先行)/ 最低验收层级 / 对应工作流模板**。层级按 AGENTS 游玩测试阶梯写明到 L 几:动玩家可见行为至少 L4+L5,纯数据至少 L2/L3,网络/存档 L6。
- 片大小判据:一片 ≈ 一次会话能做完并验到它自己那级;「这片的红长什么样」写得出来才算切到位。

## 第 2 步 · 排序与冲突

- 按依赖排:被依赖的在前。同片改同一文件 / 注册同一注册表的标「串行冲突」,不得并到两个会话盲改。
- 风险前置:会推翻骨架的片(存档格式、网络协议)排早暴露,不许留到收尾。
- 每个排序给理由(链路验证 / 依赖 / 风险)。**玩法先后与性能取舍由用户拍板**——agent 摆事实和代价,等用户选。

## 第 3 步 · 出清单

- 输出 = 编号切片表 + 每片五要素 + 「未拆进来」清单(spec 里暂时切不进的内容,逐条写明原因与后续走法)。
- 用户过目确认后落盘(默认 `docs/breakdown-<主题>.md`);此后每片单独喂对应开发模板 → mc-review 验收,一片绿才开下一片。
- **多会话地图协议**(大工程超过一次会话装得下时):这份文档就是共享地图——新会话先读它,从依赖前沿挑一片开工;片内冒出不该代劳的决定 → 记进文档的「待决」栏(一条一行:问题 / 选项 / 推荐答案),攒到用户在场时清;待决没清完的片标「阻塞」,不许绕着做。地图只更新状态与追加,改顺序回第 2 步问用户。
- **机读台账**(让 ulw / 闲时批处理能直接消费这份地图):文档末尾维护一个围栏代码块,每片一行、TAB 分隔,字段依次为 id、标题、依赖、落点、最低验收层级、状态(未开 / 进行中 / 关账 / 阻塞)。四条规则:
  - **编号稳定**:片 id 一经分配就固定,重切时旧 id 沿用、后续新片从最大已用号续号——引用旧 id 的上下文(会话记录、验收产物)永不因重排而错位。
  - **落点确定**:每片的「落点」写名将改的文件与产物;同一片重拆必须产同一落点,该片进度原地累积,接手者照着落点续做、不重做。
  - **只领未阻塞**:每轮开工可领的片 = 依赖列全部关账;epic(父片)下面还有未关的子片时,父片一律标未就绪,调度先走子片。
  - **防饿死**:全被阻塞时,把欠账最少的一个标为开工并把理由记进状态列——台账要有活口,不得僵死等解锁。
- 改动纪律:拆完不悄悄重排 / 合并 / 删片;要动先说明、等用户点头。

## 边界

- 拆的是已定的事,**不发明需求**:过程冒出的新想法 → 回 mc-grill,不直接塞进切片。
- 跨平台 / 跨版本移植不走本技能(走 mc-port-mod);本技能管同一工程内功能内部的切片与顺序。
- 不建 issue tracker / 外部看板格式——产物就是用户工程里的 markdown。