Newer
Older
TelosDB / docs / plans / folder_monitor / folder_monitor_04_phases.md

フォルダ監視: 04 実装ステップ

計画トップ


実装ステップ(案)

段階 内容 v0.3.3(Windows)
Phase 1 単一フォルダの監視のみ。notify で Create/Remove/Modify を検知し、ログ出力またはイベント送信まで。DB 連携は行わない。 ✅ 含める
Phase 2 検知イベントと既存の文書取り込み(MCP 経由または内部 API)を接続。追加・更新・削除それぞれのハンドラを実装。 ✅ 含める
Phase 3 設定 UI(監視フォルダパス・オン/オフ・対象拡張子)の追加と、設定の永続化・ワッチャー再起動。 ✅ 含める
Phase 4 複数フォルダ対応・再帰監視オプション・デバウンス時間の調整など、運用面の拡張。 以降
Phase 5(任意) macOS / Linux ビルドでの動作確認と、ネットワークフォルダ監視の検証。ネイティブ通知が使えない場合のポーリングフォールバック実装。03 OS・プロトコル別方針のマトリクスに沿った Watcher 切り替えの実装。 以降

v0.3.3 の範囲: Windows 上で Phase 1〜3 までを実装・出荷する。ローカルフォルダを RecommendedWatcher(ReadDirectoryChangesW)で監視し、設定 UI と DB 連携まで含める。


テスト・検証

種別 内容
単体 notifywatch / unwatch およびデバウンス(notify-debouncer-mini)が、指定ディレクトリ配下の Create/Modify/Remove を期待どおり集約してコールバックに渡すかを、一時ディレクトリとテスト用ファイルで検証する。
結合 イベント受信後に DB 連携(追加・更新・削除のハンドラ)が呼ばれることを、テスト用 DB またはインメモリ DB で検証。既存の文書取り込み API をモックにしてもよい。
手動 監視対象フォルダにファイルを追加・編集・削除し、ログまたは UI でイベントが検知されること、および DB に文書が反映される(または削除される)ことを確認する。デバウンス時間内の連続変更が 1 回にまとまることも確認。
UI / E2E 設定パネルで監視フォルダパスを指定し、オン/オフを切り替えて保存できることを、既存 E2E12 UI テスト方針 に沿って検証する(実装後にスペック追加)。
Phase 別 Phase 1: イベント検知の単体テスト。Phase 2: イベント→DB 連携の結合テスト。Phase 3: 設定 UI の表示・永続化・ワッチャー再起動のテスト。