DragonsHoard Lint
檢查對象為目前尚未 commit 的異動(git status + git diff HEAD),不使用歷史 checkpoint。
步驟
-
決定本次要跑哪些檢查
執行:
git -c core.quotepath=false status --porcelain=v1 -uall依本次異動涉及的頂層目錄決定後續步驟:
- 有
raw/異動 → 執行步驟 2。 - 有
wiki/異動 → 執行步驟 3、4、5、6。 - 兩者都沒有異動(例如只動
chaos/、materials/或.claude/)→ 回報「本次無raw/、wiki/異動,無需結構健檢」後結束。
被略過的檢查一律明講略過原因,不靜默跳過。
- 有
-
raw/不變性讀取
.claude/specs/raw-lifecycle.md,依其中目前規則檢查本次異動;不符合即為異常。 -
Wiki 連結結構
執行:
python xcripts/wiki_link_check.py依 exit code 處理:
- 0:通過。
- 1:讀取 stdout 的 JSON,回報其中的
orphan、deadlink_forward、deadlink_reverse、ambiguous、minlink異常。 - 2:script 執行失敗,停止並回報 stderr。
-
Frontmatter schema
讀取
.claude/specs/wiki-page.md,依其中目前定義的 schema 檢查這次有異動的wiki/**/*.md;該規格自行排除的特殊角色檔案除外。不符合即為異常。步驟 2 至 4 各自回報實際執行狀態:通過、發現異常,或未執行(並說明原因)。不得只回報「通過」而不交代哪些檢查實際跑過。任一出現異常即停止並回報,不自行修改異常內容,不繼續 commit。
-
確認
index.md跟上讀取
.claude/specs/wiki-index.md,依其規格檢查這次異動是否已反映在wiki/index.md,沒有就補。 -
檢查
log.md是否需要歸檔wc -c wiki/log.md取得目前大小,未超過.claude/specs/wiki-log.md定義的門檻就跳過本步驟;超過則依該規格的切割程序執行歸檔。