# AI Work Log 2026-02-26
## 23:34
# 🚀 Project-TC: ルーチン/サイドバー改善・docs再編・ブランチ整理
## 🧠 思考プロセス
Project-TCの実装が連続で進んだ結果、docsの実装差分とブランチ分岐が増え、後から見た時の把握コストが高くなっていた。そこで、(1) ルーチン/サイドバー/操作UXの仕様を実装で固める、(2) docsをObsidian+生成AI向けにindex中心へ再編する、(3) 最後にgitブランチとmain取り込みを安全順で整理する、の順で進めた。
特にdocsは番号付きファイル名がフォルダ番号と独立していて認知コストが高かったため、フォルダ構造は維持しつつファイル名の数字を外し、docs/index.mdを唯一の入口に寄せる方針にした。生成AIが少ないトークンで理解しやすいように、index・Quick Manual・Cheat Sheet・主要仕様書間のリンク導線を増やした。
git整理はエラー最小化を優先し、先にmainへ取り込み済みブランチを削除し、その後 codex/toggle-taskify-retro-complete を main に fast-forward で取り込み、最後に残ブランチを削除した。
## 🔍 発見 / 結果
- ルーチン周りを改善: repeat主体/日本語ショートハンド/repeat: none|0/未設定時 repeat: 1 補完/完了基準の整理(from due 例外)を実装・検証。
- デバッグモードを実装: Obsidian Notice + JSONLログ(開発用 trace)を追加。過剰発火の原因だった routine completion 検出を差分監視に修正。
- クリック/長押しとコマンドUXを再設計: 空欄短押し=今で開始、空欄長押し=直近完了時刻に合わせる、進行中/完了長押し=時刻保持で未着手へ戻す。コマンドにアイコン付与・新コマンド追加。
- デイリーノートのテンプレートマーカー自動展開を追加: {{project-tc-routines}} 等でルーチン挿入。
- Routine Sections 設定を実装: 設定画面で時刻+ラベルを定義し、Insert Routine/デイリーノート自動挿入でH1見出し分類。UIは Enter/blur/+確定、ラベル→時刻入力、自動ソート。
- サイドバー改善: section divider(薄い区切り線+ラベル)、Estimate Warning(遅延で時刻色が徐々に赤化・設定ON/OFF)、見積りなし実行中タスクの終了時刻表示修正、実行中タスクへの自動スクロール改善。
- summary_role: sleep を追加: EST. TOTAL/EST. FINISH から睡眠見積りを除外し、EST. FINISH は HH:mm - HH:mm で起床目安を併記(後半小さめ)。
- Baseの2重表示トラブルを調査・切り分け: 旧/新プラグインIDの二重有効化を解消、ビルド同期先の既定を project-tc のみに変更、debugログを tc 外 (taskchute/logs/debug) に戻し、tc/docs 等の非ルーチン.mdでのデバッグノイズを抑制。
- docsをindex-firstで再編: docs/index.md を入口に再構成、Quick_Manual.md/Cheat_Sheet.md を docs 直下へ移動、ファイル名の数字を除去、主要リンク/参照を更新、実装不一致(Duplicate Task等)を修正。
- git整理を完了: 取り込み済みブランチを削除後、codex/toggle-taskify-retro-complete を main に fast-forward 取り込み。最終的にローカルブランチは main のみ、作業ツリーはクリーン。
## 🛠️ Used Skills
- create-daily-log
## ♻️ Refactoring
- src/main.ts
- src/service/routine-engine.ts
- src/service/task-transformer.ts
- src/service/summary-calculator.ts
- src/view/summary-view.ts
- src/service/yaml-parser.ts
- docs/index.md
- docs/02_Function/Command_Logic.md
- docs/02_Function/Routine_Engine_Spec.md
- docs/02_Function/Sidebar_Summary_View_Spec.md
- docs/Quick_Manual.md
- docs/Cheat_Sheet.md
- esbuild.config.mjs
## 01:00
# 🚀 Project-TC: 2/26作業のコミット詳細ログ追記(深夜継続分を同日扱いで統合)
## 🧠 思考プロセス
23:34時点で2/26作業の要約ログは記録済みだったが、実際にはその後も日付をまたいで作業が継続し、コミット数・差分量ともに大きくなった。後から振り返った時に「どの改善がどの順番で入ったか」「どこで仕様を固めたか」が追えるよう、既存要約を残したまま、commit hash ベースの詳細版を補遺として追記する方針にした。
また、実作業中に「日付をまたいだのに実質は同じ作業セッション」という感覚と、TaskChute上の“日付判定”のズレが何度も出た。これを次の実装テーマとして明示的に残すため、実装予定セクションをここに追加する。
## 🔍 発見 / 結果
### 1) 2/26の主要コミット(時系列、深夜継続分含む)
- `6583567` 16:20 `Add debug mode tracing and fix routine update over-triggering`
- Debug mode を実装(Notice + JSONLログ)。
- routine completion 検知の過剰発火を抑える方向で、差分監視ベースの整理を進めた土台。
- `f1a7ca4` 16:47 `Update routine repeat spec shorthand examples`
- repeat仕様ドキュメントのショートハンド記法例を更新。
- `b0e5720` 16:55 `Add repeat shorthand parsing and Japanese shortcuts`
- repeat式の受け入れ範囲を拡張(日本語ショートカット含む)。
- 2/26時点の「繰り返し文法を広く受けたい」という意図に直結。
- `d7e97a2` 16:57 `Add actionable data extraction docs`
- ドキュメント追加(設計・運用整理の補強)。
- `727040f` 17:00 `Support repeat zero and validate real tc repeats`
- `repeat: 0` 系の扱いを実装・検証(実データに近いfixtureで確認)。
- `c7163fa` 17:04 `Handle repeat none in routine engine and add completion fixture tests`
- `repeat: none` の扱いを routine engine 側で処理。
- 完了時挙動の fixture test を追加して仕様を固定化。
- `a070f8b` 17:05 `Merge repeat semantics and Japanese repeat shorthand improvements`
- 上記の repeat系改善を merge して収束。
- `5ca15ba` 19:22 `Rework checkbox interactions and harden plugin sync`
- チェックボックス短押し/長押しのUI操作を再設計。
- プラグイン同期先・干渉まわりを整理し、運用時の壊れ方を減らす方向へ。
- `5a0b64b` 19:22 `Merge checkbox interaction redesign and sync hardening`
- checkbox interaction redesign を main 系の流れへ統合。
- `91a4b4b` 19:25 `Reduce routine debug noise for non-routine tc files`
- debugログのノイズ削減。`tc/` 配下でも非ルーチンのmdで過剰に反応しないよう整理。
- `b36b215` 19:33 `Add daily note template marker routine auto-insert`
- デイリーノートテンプレート上の marker(`{{project-tc-routines}}` 等)からルーチンを自動展開する導線を追加。
- `e62d79b` 19:50 `Add configurable routine section headings`
- ルーチン挿入時のセクション見出し(時間帯ラベル)を設定可能に。
- `08ccbd4` 19:50 `Merge daily template auto-insert and routine section settings`
- 自動挿入 + section settings を統合。
- `becf067` 20:13 `Refine routine schedule anchors and JP shorthand`
- ルーチンの schedule anchor 解釈と日本語ショートハンドをさらに調整。
- `dc139e1` 20:14 `Merge branch 'codex/sidebar-section-dividers'`
- サイドバー区切り線系のブランチを統合。
- `98c91ff` 20:32 `Enhance summary sidebar sections and timing cues`
- サマリーサイドバーのセクション表示・タイミング手掛かりを改善。
- 実行中/未完了の見え方を強化。
- `931f85e` 20:47 `Add sleep-aware summary header estimates`
- sleep系タスクをEST計算から扱い分けるヘッダ推定を追加。
- `0af6423` 20:47 `Merge sleep-aware summary header behavior`
- sleep-aware summary の挙動を統合。
- `1d6269b` 21:45 `Fix routine completion detection and task duplication behavior`
- ルーチン完了検知の信頼性修正。
- Duplicate Task 挙動を仕様寄りに調整。
- `6055ca7` 22:09 `Refine task command UX and interrupt completion display`
- タスク系コマンドのUX改善。
- Interrupt Task の完了表示(見た目/文言)を整理。
- `f570e19` 22:31 `Add smart adjust-time command and refine command icons`
- `Adjust Time (1m)` のスマート補正を追加。
- コマンドアイコンの整理。
- `d7c6690` 23:27 `Reorganize docs around index-first navigation`
- docsを `docs/index.md` 起点の導線へ再編。
- Quick Manual / Cheat Sheet / 仕様書へのリンクを整理。
- `f997371` 23:27 `Simplify toggle behavior and add retro complete command`
- Toggle Task の挙動を単純化。
- Retro Complete 系コマンドを追加し、後追い記録導線を補強。
### 2) 深夜継続分(2/27 00:xx だが 2/26 作業として統合)
- `31696ab` 00:33 `Refine task quick-input parsing and use > for actuals`
- クイック入力パースを改善(時刻/見積りの解釈を整理)。
- 完了行の見積り→実績表記を `>` に統一(例: `(30m > 25m)`)。
- `e70e7ce` 00:36 `Skip vault fixture test when local tc files are missing`
- ローカル実Vault依存テストが無い環境で不要に落ちないようガード。
- 開発マシン差分でのノイズを減らした。
- `04971bd` 00:37 `Flatten docs library and localize document names`
- docsライブラリの構造/命名をさらに整理(日本語名寄せ・フラット化の方向)。
- 参照の分かりやすさを優先。
- `671b2f7` 00:55 `Refine checkbox reset behavior and debug logging`
- 実運用で発見した「Mac操作時にチェックボックスが長押し扱いに寄ることがある」問題を調整。
- 長押し判定を touch/desktop で時間分離(モバイル目安 450ms / デスクトップ目安 900ms)。
- checkbox操作の debugLog を増強(pointerdown / pointerup / long timeout / click interception / short|long resolved / transform結果)。
- 長押しで `[ ]` に戻す際の仕様を見直し、未着手行として再パース可能な正規形へ変換。
- `[/]` -> `[ ]` は開始時刻1つ + 見積り保持
- `[x]` -> `[ ]` は実績時刻を落とし、見積り側を保持
- コマンド名を `Reset Task (Keep Time)` から `Reset Task (Keep Estimate)` に変更(id互換維持)。
- 関連ドキュメント(クイックマニュアル / チートシート / UI操作仕様 / コマンド仕様 / STATE)を実装に合わせて更新。
### 3) この補遺で残した判断(仕様面)
- 長押しで未着手へ戻す処理は「情報を残す」より「未着手として再パース可能な形」を優先する。
- そのうえで、ユーザー価値の高い情報は“見積り”を優先して保持する。
- 実績時刻(完了行の開始/終了時刻)は `[x]` の文脈では重要だが、`[ ]` に戻した時点ではノイズになりやすいため落とす。
## 🛠️ Used Skills
- (今回の追記作業では未使用。既存ログ運用は `.agent/workflows/log.md` を参照して手動でマージ)
## ♻️ Refactoring
- /Users/goryugo/GitHub/project-tc/src/main.ts
- /Users/goryugo/GitHub/project-tc/src/service/task-transformer.ts
- /Users/goryugo/GitHub/project-tc/tests/task-transformer.test.ts
- /Users/goryugo/GitHub/project-tc/docs/クイックマニュアル.md
- /Users/goryugo/GitHub/project-tc/docs/チートシート.md
- /Users/goryugo/GitHub/project-tc/docs/資料/UI操作仕様.md
- /Users/goryugo/GitHub/project-tc/docs/資料/コマンド仕様.md
- /Users/goryugo/GitHub/project-tc/docs/資料/STATE_実装状況サマリー.md
- /Users/goryugo/GitHub/project-tc/docs/index.md
- /Users/goryugo/GitHub/project-tc/main.js
## 🗓️ 実装予定
- 「0時を過ぎても同じ日の判定をする」ロジックを追加する。
- 設定で「翌日開始時刻(day boundary / cutoff)」を指定可能にする。
- 例: `04:00` に設定した場合、03:59までは前日扱い、04:00から翌日扱い。
- 適用対象の候補(実装時に要確認)
- デイリーノート対象日判定
- TaskChuteの日付基準(ログ記録/集計/UI表示)
- ルーチン完了日の扱い(必要なら日付境界設定を参照)
- 実装時の注意
- 「表示上の基準日」と「実時間(timestamp)」は分けて保持する。
- 既存の `today` ベース処理へ一括置換せず、まず基準日取得の共通関数を作って差し替える。