# JSONL履歴データ (history_ultimate.jsonl) 仕様書
## フィールド定義
| キー | 型 | 運用方針 |
| :--- | :--- | :--- |
| `date` | string | YYYY-MM-DD |
| `start` | string | HH:mm |
| `end` | string | HH:mm |
| `section` | string | **セクション(時間枠)**: 並べ替え用の `HHmm` 形式。二桁 `HH` の場合は時(00分)と解釈。実績の `start` とは独立し、実行順序の制御に利用。 |
| `estimate` | int | **必須記録**: タスクシュートの核心である見積時間を保持。 |
| `duration` | int | **過去互換キー**: これまでの実績時間(分)はこのキーで維持。 |
| `repeat_status` | string | **リピート管理**: `none` (単発), `pending` (リピート検討中), `repeat` (リピート化済み) |
| `task` | string | **タスク名**: 「着手できる」素朴な日本語(例:`tcプラグインを作る`)。気取った表現は避ける。 |
| `raw_text`| string | **元キー**: デイリーノート上の元の記述。 |
| `project` | string | プロジェクト識別子。 |
| `standard_project` | string | 大分類マッピング。 |
| `emoji` | string | 視認性向上のための絵文字。識別性を高めるために必須。 |
| `tags` | array | 属性タグ。 |
| `memo` | string | **全情報集約**: 次のタスクまでのメモ、独白をすべて統合。 |
| `type` | string | 基本は `"task"`。 |
## 運用プロトコル
1. **着手できる名前**: `task` フィールドには、未来の自分が「よし、やろう」と思える具体的な動詞を含む日本語を格納する。
2. **リピートの記憶**: `repeat_status` を活用し、一度リピート化を断ったタスクは記録しておき、しつこく提案しないようにする。
3. **実績時間のキー**: 過去データとの整合性を最優先し、実績時間は `duration` キーに記録する。