## なぜ必要か

`extract_code_section`ツールは、大きなファイル（例：1GB以上のログファイル）を読み込む際に非常に遅く、メモリを大量に消費します。根本的な原因は、現在の`file_handler.py`の実装が、要求された行を切り出す前にファイル全体をメモリに読み込むことです。これは非常に非効率で、メモリとCPUサイクルを無駄にし、本来であれば瞬時に完了すべき操作に15-30秒の遅延を引き起こしています。

## 変更内容

- **`file_handler.read_file_partial`のリファクタリング**: コア実装を「全読み込み後切り出し」アプローチから、ストリーミングアプローチに変更します。新しい実装では、ファイルを行ごとに読み込み、メモリ使用量を最小限に抑えます。
- **API互換性の維持**: `extract_code_section`ツールの関数シグネチャと動作は、ユーザーの視点から変更されません。これは純粋に内部的な性能最適化です。
- **性能向上**: この変更により、150-300倍の速度向上と、メモリ消費量の大幅な削減（大きなファイルでは100,000倍以上）を目標としています。

## 影響範囲

- **影響を受ける仕様**: `specs/mcp-tools/spec.md`（`extract_code_section`ツールの非機能要件が新しい性能特性を反映するように更新されます）
- **影響を受けるコード**:
  - `tree_sitter_analyzer/file_handler.py`: `read_file_partial`関数が完全に書き直されます。
  - `tree_sitter_analyzer/mcp/tools/read_partial_tool.py`: 基盤となるハンドラーのインターフェースが変更される場合、軽微な調整が必要になる可能性がありますが、安定性を保つことが目標です。
  - `tree_sitter_analyzer/mcp/server.py`: ツールのインターフェースが安定しているため、変更は予想されません。
- **破壊的変更**: なし。これは非機能的で後方互換性のある性能向上です。