diff --git a/.planning/phases/07-data-fixes/07-11-PLAN.md b/.planning/phases/07-data-fixes/07-11-PLAN.md index 138869d..9be2a66 100644 --- a/.planning/phases/07-data-fixes/07-11-PLAN.md +++ b/.planning/phases/07-data-fixes/07-11-PLAN.md @@ -209,9 +209,12 @@ Phase 7 裁决对应(逐条引用):D-01: 本计划是 Phase 7 第 11 个 - 待用户在关卡处逐条填写(Q1..Q4:勾选选项 id 或给出裁决文字)。 - **空的 `` 表示尚未裁决**:执行者必须停在本任务,不得按「建议默认」推进。 - 填写后 Task 1–4 一律按本记录执行;若 Q1 选了「部分保留」,请在记录中点名保留哪些子系统,Task 1/2/3 中被排除的子系统跳过实现、只保留登记。 + 用户裁决(2026-09-17,逐条): + - **Q1 = A**:三个子系统全部保留实例——`equipStore` / `flag` / `followers` 均按同引用原则改为「逐项合并」而非整表替换。 + - **Q2 = A**:followers 按索引对齐原地复用——同索引且 `num` 相同 → 原地 `loadState`(保留实例);`num` 不同 → 该槽位替换并按既有钩子语义发 `onRemoveFollower`/`onAddFollower`;数量变化同理(删除多余 / 新增缺失)。`IHeroFollower.num` 维持 readonly。 + - **Q3 = A**:以存档为准,内存中多出的装备实例 / flag 字段 / follower 一律删除(与今日 `clear()` 的可观测结果等价,只是不再波及存档中存在的项)。 + - **Q4 = C【无诊断】**:删除多余项是读档的自然语义(读早期存档时多出的修饰器/道具本就应消失),**不新增任何诊断、不新增码、不打警告**;`logger.json` 不改。 + 填写后 Task 1–4 一律按本记录执行;若记录与某分支描述冲突,暂停并请用户澄清。 逐条给出 Q1..Q4 的裁决(例如「Q1=A, Q2=A, Q3=A, Q4=C」);若要修订方案,回复修订点,执行者退出并按 D-09 修订本 PLAN.md 向用户汇报上述 4 个契约点及其对三个子系统的影响(可连带汇报 Task 1–4 的实现路径,便于一次确认)。不得在裁决前修改任何文件。