lissue 0.2.0

A local TODO CLI for project management with SQLite and Git-friendly JSON storage
Documentation
# 性能試験レポート (2026-03-12)

## 概要
タスク数の増加に伴うアプリケーションの処理性能の変化を検証した。特に、書き込みのたびに発生する SQLite と JSON の同期処理(全件書き出し)の影響を重点的に確認した。

## 計測結果

| タスク数 | 1件追加 (Add) | 全件取得 (List) | JSON同期 (Sync) |
| :--- | :--- | :--- | :--- |
| 100件 | ~8.9 ms | ~0.8 ms | ~27 ms |
| 1000件 | ~80.2 ms | ~8.1 ms | ~304 ms |
| 5000件 (推計) | ~400.0 ms+ | ~40.0 ms+ | ~1.5 s+ |

## 分析
1. **書き込み性能の線形劣化:** 
   タスク数が増えるにつれ、1件あたりの追加時間が線形に増加($O(n)$)している。これは、1件の追加ごとに全タスクを `tasks.json` へシリアライズ・ファイル書き出ししていることが原因である。
2. **読み込み性能:** 
   SQLite からの取得およびメモリ上のツリー構築は極めて高速であり、数千件規模でもボトルネックにはならない。
3. **実用限界:** 
   現状の同期戦略では、1,000件を超えると体感できる遅延が発生し始める。5,000件を超えると CLI ツールとしての快適性が著しく損なわれる可能性がある。

## 改善後の計測結果 (2026-03-12 - 1タスク1ファイル方式)

JSON 永続化戦略を「1タスク1ファイル(Git方式)」へリファクタリングした後の結果。

| タスク数 | 1件追加 (Add) | 全件取得 (List) | 全同期 (Sync) |
| :--- | :--- | :--- | :--- |
| 100件 | ~0.4 ms | ~0.8 ms | ~34 ms |
| 1000件 | ~0.37 ms | ~9.2 ms | ~360 ms |
| 5000件 | ~0.34 ms | ~49.7 ms | ~1.7 s |

## 最終分析
1. **書き込み性能の $O(1)$ 化達成:** 
   リファクタリングにより、タスク数に関わらず1件あたりの追加・更新時間が一定(1ms未満)となった。1000件時で以前の約200倍、5000件時(推計)で約1000倍以上の高速化を達成した。
2. **Gitコンフリクトの解消:** 
   ファイルがタスクごとに独立したため、物理的に異なるタスクへの変更が衝突することがなくなった。
3. **運用性:** 
   `.gitattributes` により、GitHub等での差分表示も整理され、大規模プロジェクトでの実用性が極めて高い状態となった。