Review feedback (PR #2284) flagged that the merge-rules wording was ambiguous: "every item has a `code` or `id` field" could reasonably be read as "each item individually has at least one of the two", allowing arrays to mix `code` and `id` across items. The resolver has always required all items share the *same* identifier key (all `code`, or all `id`). Mixed arrays fall through to append — intentional, because mixing identifier keys within one array is a schema smell and any guess about which key should merge creates a worse trap than the append-fallback. Clarified in three places: - Merge-rules table in customize-bmad.md: "every item shares the **same** identifier field" - `code`/`id` convention paragraph: "pick **one** convention ... and stick with it across the whole array" - Resolver docstring and `_detect_keyed_merge_field` docstring: explicit note that mixed arrays fall through with rationale No behavior change. |
||
|---|---|---|
| .. | ||
| cs | ||
| explanation | ||
| fr | ||
| how-to | ||
| reference | ||
| tutorials | ||
| vi-vn | ||
| zh-cn | ||
| 404.md | ||
| _STYLE_GUIDE.md | ||
| index.md | ||
| roadmap.mdx | ||