2026年 リファクタリング実施と仕様反映・計画削除
サマリー
- リファクタリング実施: 計画に沿って Phase 1〜5 を実行。MCP 状態構築の分離、doc_count 共通化、ツール一覧の registry 化、DB ラップ、検索クエリベクトル取得の 1 箇所集約を行った。
- 仕様への反映: 実施結果を
02_architecture_design.md(バックエンド構成)と 05_development_guide.md(バックエンド開発)に追記。
- 計画の削除:
docs/plans/refactor/ を削除し、docs/README.md から refactor 計画の記載を除去。
リファクタリング内容
| Phase |
内容 |
| 1 |
MCP 状態構築の分離: build_app_state(...) を切り出し、run_server はオーケストレーション(状態構築 → LSA/HNSW 同期 → listen)に限定。 |
| 2 |
doc_count 共通化: db::get_document_count(pool) を追加。handlers・tools/items・system で利用。 |
| 3 |
ツール一覧の一覧化: mcp/tools/registry.rs を新設し tool_list() で MCP ツール定義を一元管理。tools/list はここから生成。 |
| 4 |
DB ラップ: get_item_content_with_doc・get_document_id_by_path を db に追加。search の 3 箇所と items の get/add で利用。 |
| 5 |
検索クエリベクトル集約: get_query_vector(state, text) を search.rs に追加。Community は LSA、Pro は埋め込みで 1 箇所で切り替え。ベクトル検索処理を共通化。 |
主な変更ファイル
| 種別 |
パス |
| 仕様 |
docs/specification/02_architecture_design.md(§5 バックエンド構成追加), 05_development_guide.md(§3 更新) |
| 索引 |
docs/README.md(refactor 計画の記載削除) |
| MCP |
src/backend/src/mcp/mod.rs(build_app_state, run_server), handlers.rs(doc_count を db 経由に), tools/mod.rs(registry 利用・コメント), tools/registry.rs(新規), tools/items.rs(get_item_content_with_doc, get_document_id_by_path 利用), tools/search.rs(get_query_vector, DB ラップ利用) |
| DB |
src/backend/src/db/mod.rs(get_document_count, get_item_content_with_doc, get_document_id_by_path) |
| その他 |
src/backend/src/mcp/system.rs(get_document_count 利用), Cargo.lock |
| 削除 |
docs/plans/refactor/(refactor.md, refactor_01〜06) |
計画の現状
- plans/auto_start/ — ログイン時自動起動(変更はテスト・注意事項の追記等)
- plans/folder_monitor/ — 指定フォルダ監視
- plans/lda/ — LDA 対応(v0.3.3 Community)
- plans/refactor/ — 削除済み(内容は仕様に反映済み)