---
plan_id: 20260326_phase1-2-3-plan
feature_key: phase1-2-3-plan
level: standard
lifecycle_state: archived
knowledge_sync:
  project: review
  background: review
  design: review
  tasks: review
archive_ready: false
---

# 任务清单: Sopify 推广优化总纲与后续拆分路线

## 1. 总纲结论
- [x] 1.1 明确当前优化不应作为一个大执行 plan 直接开工
- [x] 1.2 明确后续方案拆为 `H / A / D / B1 / B2 / C / B3`
- [x] 1.3 明确本总 plan 仅负责方向收口、依赖管理、待拍板项管理
- [x] 1.4 明确 `20260327_hotfix` 作为 `B1` 的前置门禁；`B1` 在其完成前仅保留可并行的纯 control-plane 结构工作

## 2. 待拍板决策
- [ ] 2.1 锁定默认策略档位是否为 `balanced`
- [ ] 2.2 锁定 Ghost 是否为 `opt-in`
- [ ] 2.3 锁定 Ghost v1 是否止步于 `B2`
- [ ] 2.4 锁定 side task 是否强约束为 `low-risk only`

## 3. 后续子 plan 入口
- [x] 3.1 先完成 `20260327_hotfix`，作为状态机一致性前置门禁
- [x] 3.2 在 3.1 解除状态链路阻塞后继续 `20260326_5-plan-20260326-phase1-2-3-plan-plan-20260326-ph`，作为升级版 Plan B1（global bundle + thin stub/pin + ignore + compatibility）
  收口记录：升级版 Plan B1 已完成 `global bundle + thin stub/pin + ignore + compatibility` 主线收口，并按“关键诊断出口可读、可定位、可给下一步，同时保留 JSON 机器契约”的口径接受 CLI 渲染层功能性完成；剩余 `workspace_hint / runtime_notes` 文本 polish 已降级为 post-B1 backlog。
- [ ] 3.3 在 3.2 的 control-plane contract 稳定后推进 Plan A 子 plan
- [ ] 3.4 在 Plan A 与 3.2 的对外语义都稳定后推进 Plan D 子 plan
- [ ] 3.5 在 control-plane decoupling 稳定后，再评估是否需要推进 Plan B2
- [ ] 3.6 在 Plan A 风险边界与 control-plane contract 稳定后推进 Plan C 子 plan
- [ ] 3.7 将 Plan B3 保持为显式延后项，不并入 3.2 / B2

## 4. 子 plan 统一门禁
- [ ] 4.1 为每个后续子 plan 显式写出 non-goals，避免范围滑移
- [ ] 4.2 为每个后续子 plan 显式写出 acceptance gate
- [x] 4.3 在 `20260327_hotfix` 中冻结 `snapshot-only resolver / proposal session-only / state_conflict + abort / unique handoff exit`
- [x] 4.4 在升级版 Plan B1 中将 thin stub 校验、dual-host host-aware、payload index、ignore 默认值、legacy fallback reason code 作为硬门禁
  验收记录：上述硬门禁已在 B1 子 plan 中通过实现、回归与 smoke 验证收口；program plan 与 child plan 现已同步该验收结论，后续只保留 post-B1 polish，不再回流到 B1 主线。
- [ ] 4.5 在 Plan A 子 plan 启动前登记 carry-over recall debt 与明确 non-goals，明确挂住 `2026-03-31 / 2026-04-03` 这两轮 `A-1 / A-3 / A-4 / A-5 / A-8` 追溯样本（如“还剩什么需要你确认”“为啥被网关卡住”“不要建包，只做确认项分析”“取消这个 proposal checkpoint”“做 Plan A，但先不写方案包，只分析，不改”“只做 Plan A 样本矩阵草案，不建包、不改代码”），避免把 Plan H correctness hotfix 与后续语义召回增强混做一轮
- [ ] 4.6 为 Plan A 子 plan 明确启动触发条件（真实漏判样本 / 用户反馈阈值），并要求先补齐 `A-1 / A-3 / A-4 / A-5 / A-6 / A-8` 的正反例矩阵与状态不变量断言（`required_host_action / checkpoint_id / current_plan_proposal / current_decision / plan/` 副作用）；`A-7` 作为冻结回归基线持续保留，`A-2` 归入 `V1.x parser robustness backlog`，避免长期后延或提前侵入 B1 窗口
- [ ] 4.7 在 Plan A 中冻结 `ExecutionGate` 核心字段名与 `gate_status` 值集
- [ ] 4.8 在 Plan B2 中明确“不改变 plan/blueprint/history contract”
- [ ] 4.9 在 Plan C 中明确“bounded side task，不允许自由漫游”
- [ ] 4.10 在 Plan A 子 plan 中覆盖 `ready_for_execution + state_conflict(abort_conflict)` 收敛 case：必须验证“开始执行 -> state_conflict -> 取消 -> 再次开始执行”不再回环冲突，并沉淀可追溯证据链（`current_gate_receipt / current_run / current_handoff / last_route`）与对应代码链路（`context_snapshot -> router -> engine -> handoff`）
- [x] 4.11 冻结后续设计边界：`B1` 收口后可先灰度推广；`Plan A / Plan D` 默认必须向后兼容已发布 `B1` contract，不得隐式引入破坏性变更；若需破坏性改动，必须单独立项并附迁移/回滚方案
- [x] 4.12 在 Plan A 进入实现前冻结 A0 语义契约：按“同一语义类一次收口”设计，不接受“单词/短语补丁式”修复
- [x] 4.13 在 Plan A 子 plan 中为 `question signal + retopic signal + plan referent` 建立结构化语义类矩阵（后缀/前置/中置疑问）
- [x] 4.14 将 Case A-7 的验收矩阵固化为 parser 正反例与回归用例；通过标准必须包含“inspect fail-close + revise 保持 + mixed case 保持”
- [ ] 4.15 将 `plan_proposal_pending + command prefix` 标记为“行为约束待产品确认”并与 parser 收口任务解耦，避免在同一轮混改
- [x] 4.16 冻结 Plan A 实施切片边界：`V1 parser-first -> rollout/observability -> V2 guarded hybrid classifier`；其中 `A-2` 归入 `V1.x parser robustness backlog`，不阻塞当前 v1 开工门禁
- [x] 4.17 冻结 Plan A 三张表的跨切层边界：表层保持语言无关、宿主无关；locale 只落在 `Signal Extraction`，宿主差异只落在 `Handoff / Output Adapter`
- [x] 4.18 冻结总纲口径：classifier(v2) 仅作为 Plan A 的后置 gate 能力，不作为总纲独立执行分支，也不作为主路由替换方案

## 5. 明确延后方向
- [ ] 5.1 若未来启动 B3，单独拍板 `plan_path` 新语义
- [ ] 5.2 若未来启动 B3，单独拍板 Ghost 下 `finalize/history` 行为
- [ ] 5.3 若未来启动 B3，单独拍板 mixed-mode 协作边界
