実装計画を作成しました（コードはまだ書いていません）。計画ファイル: `<計画ファイル置き場>/archive-async-cook.md`

## 方針
タスクを別ファイルに移さず、`Task` に `archived: bool = False` を追加します。変更が最小で済み、ID も再利用されず、既存の `tasks.json` もそのまま読めます。

## 変更内容
1. **`models.py`**: `archived` フィールドを追加。`from_dict` は `d.get("archived", False)` にして旧JSONと互換を保つ。
2. **`store.py`**: `archive_done()` を追加。`done` かつ未アーカイブのタスクだけに `archived=True` を立てて保存し、対象を返す。未完了タスクは変更しない。
3. **`cli.py`**:
   - `archive` サブコマンドを追加し、`アーカイブしました: N件` と表示する（0件でも終了コード0）。
   - `list` に `--all` を追加。指定しなければ `archived` のタスクを除外する。
4. **`report.py`**: `list --all` で見分けられるよう、アーカイブ済みに ` [アーカイブ]` の印を付ける。
5. **`README.md`**: 使用例を追記。

## 確認済みの点
- `overdue` は `not t.done` で絞っているため、アーカイブ済みは元々含まれず変更不要です。
- `next_id` は全タスクを走査しているので、アーカイブ後も ID は衝突しません。

## テスト
- 完了済みのみアーカイブされ、未完了は不変で、再読込後も保持される。
- 旧形式JSON（`archived` キーなし）が読める。
- `list` は未完了のみ、`list --all` は全件表示。
- 完了タスクが無い場合は 0件、2回目の `archive` も 0件。

## 確認したい点
印の文言（` [アーカイブ]`）は仮です。変更したければ指定してください。なお、plan mode の終了ツールがこのセッションで無効だったため、承認は通常のメッセージで受け付けます。問題なければ「進めて」とお知らせください。