Releases: spikestudio/aidd-kos
v0.3.2
Bug Fixes
-
asyncio event loop 競合によるインデックス失敗を修正 (#63 / Closes #58)
LightRAG のshared_storage.pyが保持するプロセスレベルの Lock が異なるイベントループにバインドされる問題を修正。全 LightRAG 操作を単一イベントループに統合することで解消。 -
中断インデックス再実行時の重複 failed エントリを防止 (#64 / Closes #62)
aidd-kos indexが途中で kill されるとparsing状態のドキュメントが残り、再実行時にfailed + is_duplicate: trueエントリが生成される問題を修正。差分インデックス実行前に不完全状態のドキュメントをクリーンアップする処理を追加。
Chores
インストール
uvx aidd-kos@0.3.2 installv0.3.1
Bug Fixes
-
LightRAG 1.5.1 でインデックス処理が失敗する問題を修正(#55)
partial(model=llm_model)方式では lightrag-hku 1.5.1 がllm_model_funcを位置引数で呼び出す際にgot multiple values for argument 'model'エラーが発生していた。クロージャ方式に変更し、モデル名を第1位置引数として渡すことで解消。
Tests
tests/unit/test_config.pyを新規追加 — LightRAG との接合部(_llm_funcクロージャ)の呼び出し規約を検証するユニットテスト。同種の回帰を自動検出できるようになった。
v0.3.0
What's Changed
✨ Features
- マルチプロジェクト対応(#38)—
uvx aidd-kos installでプロジェクト固有の.claude/settings.local.jsonに MCP 登録。複数プロジェクトを並行利用可能。LightRAG in-process 化によりポート 9621 が不要に - ステータス & エラー可視化(#27)—
aidd-kos statusが Ready/Stale/Indexing/Error の 4 値に対応。エラー時に原因コードと再試行コマンドを表示。インデックス処理中の進捗表示。kos_statusMCP ツールも JSON 構造化レスポンスに拡張
🛠 Improvements
aidd-kos indexの差分インデックス後に.lightrag/last_indexed_atを記録し Stale 検出が機能するよう改善kos_statusがerror/stale/indexingの詳細状態を返すよう更新(破壊的変更: 旧 string 形式 → JSON 形式)
🔧 Fixes
- Merge Guard の
gate:reviewedラベルが新コミットで自動削除される問題を修正(#50) test_ac_f41_03のポートバインド検証が外部プロセスで誤検知する問題を修正
📝 Other
- ES-26: lefthook post-commit による
aidd-kos index自動実行の設定手順プレイブック(docs/playbook/auto-sync.md) - Taskfile に
wt:create/wt:removeタスクを追加(#49)
Upgrade Notes
kos_status の戻り値が string から JSON 文字列に変更されました。AI Agent がレスポンスをパースしている場合は対応が必要です。
v0.2.1
🐛 バグ修正
LightRAG v1.5.0 互換性修正
差分インデックス(aidd-kos index)の動作修正:
page_size=500が LightRAG v1.5.0 の上限(200)を超えて HTTP 422 が発生していた問題を修正- ファイルパスのエンコード方式を
__→___(トリプルアンダースコア)に変更し、同名ファイルが複数ある場合でも全件インデックス可能に - LightRAG への DELETE リクエストが
{"status":"busy"}を返した場合のリトライ処理を追加 _send_filesで 409 Conflict がLIGHTRAG_UNAVAILABLEとして誤表示されていた問題を修正_wait_pipeline_idleのタイムアウト時に stderr 警告を出力するよう改善- Windows 環境でパスセパレータ(
\)が正しく処理されない問題を修正(Path.as_posix()使用)
起動設定の改善:
OPENAI_API_KEYが未設定の場合、起動直後に明確なエラーメッセージを stderr に出力して終了するよう追加LLM_BINDING=openai等のデフォルト値をコードに同梱。ユーザーはOPENAI_API_KEYのみ設定すれば動作する- デフォルト設定を
aidd_kos/config.pyに集約(コード重複解消)
アップグレード時の注意
v0.2.0 → v0.2.1 アップグレード後、初回の aidd-kos index は全ファイルを自動的に再エンコードします(インデックスエンコード形式の変更のため)。クリーンに再構築したい場合は aidd-kos index --full を実行してください。
インストール
uvx aidd-kos@0.2.1 install
# または最新版
uvx aidd-kos@latest installv0.2.0
🚀 新機能
インデックス差分更新 (Epic #25)
aidd-kos index がデフォルトで差分モードに変更されました。
変更・追加・削除ファイルのみを処理し、LightRAG API コストを最小化します。
- 差分検出: LightRAG の
/documents/paginatedAPI を正規ソースとして使用(ローカル状態ファイル不要) - 変更検出: ファイルの
mtimeと LightRAG のupdated_atを比較 - 削除検出:
DELETE /documents/delete_documentAPI でインデックスから除去 - 出力例:
差分モード: 追加 2 件・更新 1 件・削除 0 件・スキップ 47 件 (1.2s)
aidd-kos index --full で全件再構築モードを追加しました。
インデックスが壊れた場合や確実にリセットしたい場合に使用します。
aidd-kos index --full
# → 全件再構築モード: 50 件 (8.5s)📝 ドキュメント
- README に
aidd-kos index/aidd-kos index --fullの説明を追加 - business-context / glossary を実装に合わせて更新
🔧 内部変更
IndexOrchestrator._fetch_indexed_docs(): LightRAG の paginated API から全インデックス状態を取得IndexOrchestrator._classify_files(): mtime vs updated_at(UTC)で new/modified/skip を分類IndexOrchestrator._detect_deleted(): indexed と filesystem の差分で削除ファイルを検出IndexOrchestrator._delete_docs(): LightRAG DELETE API を呼び出しIndexOrchestrator.run(full=False): 差分モード / 全件モードの切り替え
インストール
uvx aidd-kos@0.2.0 install
# または最新版
uvx aidd-kos@latest installv0.1.0 — Core MVP
aidd-kos 最初のリリース。LightRAG + CodeGraph を単一 MCP エンドポイントで公開。uvx aidd-kos install でワンコマンド導入。