跳到主內容

Theme / v0.9.103

Graphify

Codebase 知識圖譜

基礎觀念

v0.9.92:23 個社群修正——Solidity C3、id 碰撞與快取重建

🟡 中階|掌握 Graphify v0.9.92 的 23 個社群 PR:Solidity 繼承呼叫走 C3 linearization、JS/TS/Python/Go/Rust 的 id 碰撞與呼叫解析修復、MCP parallel edges 保留、GRAPHIFY_BACKEND 後端選擇;AST cache schema bump,升級後首次建置重新抽取。含互動測驗與檢查清單。

概述

Graphify v0.9.92(2026-10-16 發布)是 23 個社群 PR 組成的修正版,官方定位:「call-resolution and id-collision fixes across JS/TS, Python, Go, Rust and Solidity; graph round-trip, dedup and confidence-folding fixes; skill code-only-update and dispatch fixes; and LLM/Ollama and detection fixes.」

AST cache schema 有 bump,升級後第一次建置會重新抽取(re-extract)。

Solidity:繼承呼叫走 C3 linearization(#4379、#4384)

Solidity 合約的繼承呼叫(inherited calls)、super 呼叫與 modifiers,現在透過 C3 linearization(Solidity 與 Python MRO 同源的線性化演算法)解析——呼叫邊能落在正確的實作合約上,而不是消失或指錯目標。

呼叫解析與 id 碰撞修復

跨語言的修正重點:

語言 修正 PR
JS/TS 僅差 _、$、# 的 class members 保留為分開節點 #4475、#4479
TypeScript this.field 型別可從任何 method 內的 assignment 推得(含 static 與 accessor) #4473、#4482
JS workspace 套件 exports 只指進 dist/ 時回退 src/;經 barrel 解析後丟棄懸空 import 邊 #4485/#4489、#4486/#4488
Python module-level class id 與函式/類碰撞時加鹽(salt)分開 #2810、#4467
Python pytest fixture 參數的成員呼叫,從 fixture 回傳的類別取型別 #4332、#4333
Go / Rust 同檔內僅大小寫不同的宣告分開保留 #4468

圖譜管線與 skill 修復

  • MCP parallel edges 保留(#4500、#4503):平行的圖邊在 graph.json round-trip 與查詢輸出中不再被合併丟失。
  • dedup 排名(#4492、#4496):碰撞時有 source_file 的節點勝過無來源的同名節點。
  • confidence 折疊(#4495、#4501):模型漂移的字串 confidence 在驗證與 dedup 前先折疊為合法值。
  • VCS 偵測(#4444、#4464):只有有效的 .git 被視為 VCS root——家目錄裡的雜散 .git 不再洩漏自己的 .gitignore 規則。
  • hooks(#4463、#4476、#4490、#4491):post-merge 只在真 merge 後重建;新增 post-rewrite hook,在 cherry-pick、rebase、pull --rebase 之後重建圖譜。
  • skill:code-only --update 在 merge 前先 materialize 抽取結果,跨所有 hosts 生效(#4447、#4313);雙引號 -c 區塊內的雜散反引號不再中途執行指令(#4461、#4462);Pi 把語意 subagents 派發到原生 delegate agent(#4494、#4502);agent 推送到你提供的精確 Neo4j/FalkorDB URI,而非 localhost 範例(#4349)。
  • 相依(#4044):tree-sitter-dm 釘在 <0.26,新安裝不會拉到 ABI 不相容的 0.26 grammar。

LLM:GRAPHIFY_BACKEND 後端選擇(#4361、#4376)

新增以 GRAPHIFY_BACKEND 環境變數選擇 LLM 後端、一個停用開關,以及「誠實的」自動偵測(honest auto-detect)。抽取 prompt 也把 source_file 釘在實際派發的檔案(#3377、#2270、#4487),避免來源標記漂移。

隨堂測驗

升級 v0.9.92 後,第一次建置圖譜會發生什麼?

💡 想先看個提示?

注意官方把這句放在定位段落的第一行加粗。

動手升級檢查清單

升級 v0.9.92:動手檢查清單

逐項勾選,確認你已完成升級必要的步驟(進度會保存在此瀏覽器)

0 / 4

延伸閱讀