Blocked-by: #14161 实现 ADR-0130 Consequences 表第 3 行(#14122 §5.3)。依赖 #14161 的 `packages[]` schema。 ## 要求 1. `composeStacks` 的 `manifest` 选项(`packages/spec/src/stack.zod.ts:1759`,现为 `'first' | 'last' | index`,刻意的**挑选**语义)新增**保留**模式:N 份 manifest 全部进产物的 `packages[]`,子包身份不丢。 2. **默认值 `'last'` 不变**——现有调用方零感知(#14122 §6.2)。 3. 保留模式的输出与 #14161 的 schema 对齐(`packages[]` 元素恒为对象)。 ## Clause-② `packages/spec/src/**` 命中路径肢;新增选项值 = 公共面扩宽 ⇒ 预期 yes,挂 `needs:contract-review`,PR 恒 draft 待复审。 ## 验收 既有 `'first'`/`'last'`/index 行为逐位不变(pin);保留模式下 N 包身份(id/namespace/依赖声明)完整可读;换档 minor。
Blocked-by: #14161
实现 ADR-0130 Consequences 表第 3 行(#14122 §5.3)。依赖 #14161 的
packages[]schema。要求
composeStacks的manifest选项(packages/spec/src/stack.zod.ts:1759,现为'first' | 'last' | index,刻意的挑选语义)新增保留模式:N 份 manifest 全部进产物的packages[],子包身份不丢。'last'不变——现有调用方零感知(One artifact, N packages: let a release bundle carry co-owning packages so a product can be split into modules without renaming objects #14122 §6.2)。packages[]元素恒为对象)。Clause-②
packages/spec/src/**命中路径肢;新增选项值 = 公共面扩宽 ⇒ 预期 yes,挂needs:contract-review,PR 恒 draft 待复审。验收
既有
'first'/'last'/index 行为逐位不变(pin);保留模式下 N 包身份(id/namespace/依赖声明)完整可读;换档 minor。