# Titan Overlap 决策矩阵（MERGE-03）

## 决策规则

- `keep`：保留当前新系统逻辑实现，仅允许视觉层对齐。
- `replace`：按旧视觉或稳定路径替换当前实现，但必须保留协议兼容。
- `hybrid`：采用“旧视觉 + 新逻辑”分层合并。

## L0/L1/L2 边界（后续执行约束）

- `L0`（协议/路由层）：`thread_id`、`isnew`、`xclaw_used`、skills API 合同。优先保留新逻辑。
- `L1`（状态/副作用层）：线程流式、消息组装、上传与 bootstrap 调用。优先保留稳定逻辑路径。
- `L2`（视图/样式层）：布局、文案、视觉层级。按旧视觉对齐。

## 决策表

| file | titan_overlap | decision | rationale | L0/L1/L2 执行指引 | next_phase |
|------|---------------|----------|-----------|-------------------|------------|
| `frontend/src/app/workspace/chats/[thread_id]/page.tsx` | 高（author+7342） | `hybrid` | 路由参数与线程引导是高风险逻辑入口；视觉结构同时高频变动 | L0 保留现有线程参数语义；L1 保留新会话引导；L2 按旧视觉重排 | Phase 2 + Phase 3 |
| `frontend/src/core/threads/hooks.ts` | 高（author+7342） | `keep` | 属于线程主数据流核心，不应以视觉回退触碰逻辑 | L0/L1 全保留新逻辑；仅允许调用侧做最小适配 | Phase 2 |
| `frontend/src/core/skills/api.ts` | 高（author+7342） | `keep` | 涉及 skills bootstrap 合同与兼容性，错误替换会破坏新系统能力 | L0 保留现行 contract；L1 仅做显式兼容层，不做语义回退 | Phase 2 |
| `frontend/src/components/workspace/chats/use-thread-chat.ts` | 中（author+7342） | `hybrid` | 聊天编排与 UI 交互耦合，需拆层避免回归 | L1 保留消息/线程调度；L2 可按旧视觉交互重构 | Phase 2 + Phase 3 |
| `frontend/src/components/workspace/messages/message-list-item.tsx` | 中（author+7342） | `replace` | 该文件在 merge 热点极高且视觉占比高，优先恢复旧视觉结构 | L1 仅保留必要事件桥接；L2 可按旧视觉替换主渲染 | Phase 3（必要时回补 Phase 2） |
| `frontend/src/core/uploads/api.ts` | 低中（author+7342） | `keep` | 上传 API 以正确性优先，视觉无关 | L0/L1 全保留；不做视觉层改动 | Phase 2 |

## 给后续执行阶段的直接输入

1. Phase 2（逻辑对齐）优先处理所有 `keep` 项和 `hybrid` 的 L0/L1。  
2. Phase 3（视觉对齐）处理 `replace` 项与 `hybrid` 的 L2。  
3. 对 `hybrid` 文件必须拆分提交：逻辑提交与视觉提交分离，满足 `TEST-02` 的提交卫生要求。

## 审计追溯

- 证据来源：`audit-evidence.md`
- 基础盘点：`conflict-inventory.csv`
