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 檔間接改變。