GitHub Repo
Graphify 0.9.68 修補增量索引缺邊,保留跨檔案依賴關係
新版將未變動檔案的符號納入解析,修正代理知識圖譜在局部更新後遺失連線的問題。修補已上架 PyPI,但其他匯入解析缺陷與舊圖譜恢復仍須分別驗證。

Graphify 於 9 月 25 日釋出 0.9.68,修補增量更新會遺失跨檔案關係的缺陷。受影響流程包含更新、純程式碼抽取與監看模式;當代理持續修改專案時,圖譜可能仍保有完整節點,卻逐漸漏掉匯入或呼叫關係。新版已將修正列入[發布紀錄](https://github.com/Graphify-Labs/graphify/releases/tag/v0.9.68)。
這套工具為程式代理建立可查詢的知識圖譜,程式碼部分透過本機語法樹解析,不需語言模型或向量資料庫;文件等內容另有語意處理流程。工程師可沿著圖譜追查依賴與呼叫路徑,因此關係遺漏會直接影響提供給代理的上下文。官方套件名稱是雙寫 y 的 `graphifyy`,[PyPI](https://pypi.org/project/graphifyy/0.9.68/) 已提供同日上傳的原始碼與 wheel。
問題最初由使用者在 0.9.65 回報:一個約 130 個 Python 檔案、3,277 個節點的專案,增量更新後相較乾淨建置少了 65 條關係,節點数卻完全相同。該回報中,強制重建仍少 64 條,移除輸出目錄後重建才恢復一致。這是特定環境的觀察,不能推廣成所有專案的遺漏比例,但顯示只檢查節點數不足以驗證索引完整性。[問題紀錄](https://github.com/Graphify-Labs/graphify/issues/3776)
根因在符號解析:舊流程只索引本次重新抽取的節點,若目標函式位於未變動檔案,解析器便找不到它並略過連線。修補把未變動檔案的符號作為唯讀上下文納入索引,讓新抽取資料優先,同時保留已刪除匯入的清理機制。維護者表示,修正已重新整理後納入發布,並增加「移除匯入後不得復活舊連線」的反向測試;增量與解析測試在 Python 3.10、3.13 通過。不過,非相對匯入的 `imports_from` 目標正規化另案處理,不能據此宣稱所有缺邊都已解決。[修補討論](https://github.com/Graphify-Labs/graphify/pull/3812)
依此機制推論,修補有助降低代理把「圖上沒有路徑」誤當成「程式不存在依賴」的風險。對持續監看程式庫的團隊,既有部署應以相同原始碼比較增量與乾淨建置的關係集合,並驗證新增、保留、刪除三種情境;舊圖譜能否完整恢復及大型專案的額外索引成本,仍須實測。