Theme / v0.9.56

Graphify

Codebase 知識圖譜

基礎觀念

v0.9.42 / v0.9.43:提取修正與 OCaml 支援

了解 v0.9.42 的提取正確性與資料完整性修正,以及 v0.9.43 新增的 OCaml 支援與邊解析修正。

兩個 patch 一次到位

v0.9.42 是 correctness / determinism / portability release,v0.9.43 接續修正提取與 export 細節並新增 OCaml。兩者都建議在下次 graphify update 時一併升級。

提取行為修正

v0.9.42 完成 loop / closure / catch shadow family 修正:JS/TS 的 for...of / for...in binding 會被 shadow,不再製造假的 indirect_call 邊(#2685)。Python 的相對子套件 import(from ..pkg.sub import x)會解析到套件 __init__(#2688);tree 內的 FIFO/device 等 non-regular file 會被跳過,不再卡住 extraction(#2463)。

v0.9.43 再修兩個常見誤判:跨檔 INFERRED uses 邊只綁到真正參考 import 名稱的 symbol,不會從 import 行散到同檔每個 class(#2652);巢狀於函式(含 arrow component / callback)內部的具名 function declaration 會建立 node、被 enclosing scope 包含,呼叫不再懸空(#2653)。

update 與資料完整性

graphify update 的增量偵測在 v0.9.42 補上「同長度重寫」案例:同一 mtime tick 內內容重寫成相同長度的檔案會重新排入佇列(#2466),配合既有的 file-hash guard。built_at_commit 改從被分析的 repo 取得,不再受 shell cwd 影響(#2699);損毀的 semantic-cache 條目會被揭露並重新萃取,而不是默默漏掉(#2683)。

OCaml 與路徑/匯出修正

v0.9.43 以 tree-sitter-ocaml 支援 .ml / .mli(optional [ocaml] extra),可提取 modules、values/functions、types 與 variant constructors、open imports 與 function calls;qualified call 會解析到實際定義。

路徑與匯出方面:source_file 統一為 POSIX 格式,Windows atomic write / install 加固(v0.9.42);wiki link 改以檔名逐字比對,不再產生 percent-encoded 的幽靈連結;export 檔名會以完整目的地路徑計算長度,Windows 長目錄不再讓 Obsidian/wiki 匯出中途中止(#2655)。

來源:Graphify v0.9.42 releasev0.9.43 release