# Phase 06 Commit Guide

## Commit Order

`style -> logic -> tests -> docs`

## Rules

- 禁止跨组混提。
- 每个提交仅包含该组文件，便于回滚与审阅。
- 每组提交后至少执行一次对应最小验证命令。

## Group 1: style

- 文件清单:
  - `frontend/src/components/workspace/input-box.tsx`（仅样式 class、chip 展示视觉）
  - `frontend/src/components/ui/dropdown-menu.tsx`（如有样式微调）
- commit message 示例:
  - `style(phase-06): polish @ reference chip and dropdown visuals`
- 最小验证:
  - `cd frontend && pnpm -s typecheck`

## Group 2: logic

- 文件清单:
  - `frontend/src/components/ai-elements/prompt-input.tsx`
  - `frontend/src/core/messages/utils.ts`
  - `frontend/src/core/threads/submit-files.ts`
  - `frontend/src/core/threads/hooks.ts`
  - `frontend/src/components/workspace/input-box.tsx`（@候选/交互逻辑）
- commit message 示例:
  - `feat(phase-06): implement @ reference submission and soft-fail flow`
- 最小验证:
  - `cd frontend && pnpm -s typecheck`

## Group 3: tests

- 文件清单:
  - `frontend/src/core/threads/hooks.test.ts`
  - `frontend/tests/e2e/input-and-compose.spec.ts`
  - `frontend/tests/e2e/support/chat-helpers.ts`（如有辅助变更）
- commit message 示例:
  - `test(phase-06): cover @ reference flow and stale-reference handling`
- 最小验证:
  - `cd frontend && node --test src/core/threads/hooks.test.ts`
  - `cd frontend && pnpm -s test:e2e --grep "DF-INPUT-007|DF-INPUT-008|DF-INPUT-009"`

## Group 4: docs

- 文件清单:
  - `.planning/phases/06-/06-VALIDATION.md`
  - `.planning/phases/06-/06-CONTEXT.md`
  - `.planning/phases/06-/06-UI-SPEC.md`
  - `.planning/phases/06-/06-RESEARCH.md`
  - `.planning/phases/06-/06-0*-SUMMARY.md`
- commit message 示例:
  - `docs(phase-06): update validation and execution summaries`
- 最小验证:
  - `rg -n "style -> logic -> tests -> docs|nyquist_compliant:\\s*true" .planning/phases/06-/`
