跳轉到

D-20260725-05|Graphify 輸出追蹤與格式化邊界

背景與驅動力

graphify-out 同時包含可重建的大型圖表、跨 repo 使用的 semantic cache,以及 manifest 與 labels。目錄名稱看似全為生成物,但既有 .gitignore 刻意只忽略大圖/報告,保留 semantic cache、manifest 與 labels 進版控,使 clone 後可在不重新消耗模型 token 的情況 下重建。複核焦點是能否把整個目錄加入 .prettierignore,而不破壞這個跨 repo 契約。

考慮過的選項

  • graphify-out/ 整體加入 .gitignore:會移除刻意版控的 semantic cache 與 metadata, 棄。
  • graphify-out/ 加入 .graphifyignore 作為輸出排除:該檔控制 Graphify 的輸入 掃描範圍,不是格式化或版控政策;混用語意,棄。
  • 保持選擇性 Git 追蹤與 Graphify 輸入白名單,只由 Prettier 排除整個輸出目錄(採納)。

決定

  • 各程式 repo 的 .prettierignore 可列入 graphify-out/;這只界定 formatter 邊界。
  • .gitignore 繼續逐項保留 graphify-out/cache/semantic/manifest.json.graphify_labels.json,不得因 Prettier 排除而改成全目錄忽略。
  • .graphifyignore 繼續只描述輸入白名單及輸入端生成物排除,不承擔輸出持久化政策。
  • 不刪除或重新格式化已版控的 Graphify semantic cache/metadata;其內容更新仍由 Graphify 自身產生與驗證。

後果與影響

Prettier 不再改寫或掃描 Graphify 輸出,同時保留跨 repo 的零 token 重建能力與既有 知識圖輸入邊界。未來若要改變 semantic cache 的持久化政策,必須另立裁決,不能藉由 調整任一 ignore 檔間接改變。