# TDD（テスト駆動開発）

計画が承認されたら、各タスクで RED → GREEN → リファクタリング を実行する。各サイクルがgitコミットになる。

## 赤

失敗するテストを書く。タスクが完了したとわかる方法を宣言する。

## 緑

テストを通過させる最小限のコードを書く。設計は全く気にしない。

## リファクタリング

コードを綺麗にする。動作は変更しない。発見または学んだことがあれば仕様ノートを更新する。

## ドキュメント同期

RED-GREEN-リファクタリングの各サイクル後、コミット前にドキュメントを同期：
- 仕様が存在する → 実際の状態に合わせて更新する。
- 仕様なし（小タスク）→ living docsを直接更新する。

## 受け入れ

各タスクのacceptance条件はグリーン後に通過しなければならない。自動チェックできない場合は、コミット前に手動で検証する。

## Gate

**ここで止まる：**
- テストが失敗している。
- Acceptance基準を満たせない。
- コードが仕様と一致しない。

そうでなければ、`ship` に進む。
