lint 檢查完成後產出的報告...可以幹嘛? #4
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
應該是有在,但是不知道為啥比對不出來??
報告能幹嘛
lint 報告是待人工核准的待辦清單 + CI 閘門,不是修復工具(AGENTS.md §7、§1.5):它只健檢、把發現列成
- [ ]、用結束碼0/1給排程當紅燈,絕不改檔。所以處置一律走 branch + PR,由人裁決。這份只有 Schema + 重複兩節,代表過期/覆蓋缺口/孤兒頁三項都 0 發現——是好訊號。
「應該有在,為啥比對不出來?」
因為 lint 的 schema 檢查是精確字串比對:把每個 wiki 頁
source_ref的路徑部分,拿去manifest["files"]找 key,對不上就報「不在 manifest」。檔案存在但比對不出來 → 不是掉檔,是 key 字串對不起來,差一個斜線、./前綴、大小寫、或檔名 hash 後綴就 miss。正常情況下 ingest 寫
source_ref時 path 直接取自 manifest key(source_ref = f"{t}#{sha8}"),天生一致、不會岔開。會岔開通常是攝入之後 manifest 被動過(重生/被git restore回舊版,掉了那幾筆 converted 條目,但raw/converted/*.md檔還在)——這跟近期在處理 CRLF/manifest hash 的那批改動吻合。怎麼一次問到底
新增了
tools/diag_refs.py,專門把「對不上」分成五類、各附修法(已 commit 在分支feat/convert-verify-reconcile,見 PR):.//大小寫,正規化後其實同一 key先跑
python tools/convert/convert.py --verify分類磁碟 vs 帳本,再看 diag_refs 的型別。你這 12 條(其實只牽涉 4 個來源檔)最可能落在檔在磁碟、帳本無條目(→ 補帳本)或路徑字串岔開(→ 修規則)——兩者修法相反,先分類再動手,別猜。重複頁那 3 對
是 LLM 建議、待人工裁決的合併候選(§4「猶豫時傾向就地編輯、避免碎片化」):主掃 vs 被掃很可能是誤判(不同收單流程,只共用 SHA256/SFTP),保留並互相 cross-link;settlement-files ↔ settlement 最像真的該合併;summary ↔ entity 對同一來源本來就會像,若 entity 只是重講 summary 就合併。逐對判完勾掉,合併的走 PR。