Problem
imageConsistencySaveRefusal 對 DocxWriter.writeData(document) 的輸出跑 PackageInspector,而 writeData 永遠是 scratch 模式(只輸出 typed model 管得到的 parts);真正的 save_document 走 persistDocumentToDisk → DocxWriter.write(_:to:) 的 overlay 模式,會保留來源 archive 的額外 parts(charts、header/footer rels…)。#199 verify 的 logic lens 用同一份未編輯檔案實測:Direct Mode(讀磁碟)列出 chart part 的孤兒與 2 條 image relationship,Session Mode(writeData)一條都沒有——gate 看到的 package 與存出去的 package 不是同一份。
後果:只存在於 overlay 保留 parts 裡的孤兒(或那些 parts 裡的 body 引用)完全不進 gate 的視野;「gate 通過」對那些 parts 不代表任何事。#199 的 list_images 已把宣稱收窄為「與 save gate 檢查的同一份位元組」;本 issue 追蹤 gate 本身該檢查什麼。
Type
bug
Expected
gate 檢查的位元組 = 即將寫出的位元組(overlay 模式輸出),或至少把「scratch 序列化未涵蓋的 parts」列進報告,讓 isConsistent 的守備範圍可被看見。
Actual
gate 只看 scratch 輸出。
Source: surfaced during /idd-verify #199 (Step 5b follow-up triage). Verify report: #218 (comment)
Refs #199, PsychQuant/macdoc#175
Problem
imageConsistencySaveRefusal對DocxWriter.writeData(document)的輸出跑PackageInspector,而writeData永遠是 scratch 模式(只輸出 typed model 管得到的 parts);真正的save_document走persistDocumentToDisk→DocxWriter.write(_:to:)的 overlay 模式,會保留來源 archive 的額外 parts(charts、header/footer rels…)。#199 verify 的 logic lens 用同一份未編輯檔案實測:Direct Mode(讀磁碟)列出 chart part 的孤兒與 2 條 image relationship,Session Mode(writeData)一條都沒有——gate 看到的 package 與存出去的 package 不是同一份。後果:只存在於 overlay 保留 parts 裡的孤兒(或那些 parts 裡的 body 引用)完全不進 gate 的視野;「gate 通過」對那些 parts 不代表任何事。#199 的
list_images已把宣稱收窄為「與 save gate 檢查的同一份位元組」;本 issue 追蹤 gate 本身該檢查什麼。Type
bug
Expected
gate 檢查的位元組 = 即將寫出的位元組(overlay 模式輸出),或至少把「scratch 序列化未涵蓋的 parts」列進報告,讓
isConsistent的守備範圍可被看見。Actual
gate 只看 scratch 輸出。
Source: surfaced during /idd-verify #199 (Step 5b follow-up triage). Verify report: #218 (comment)
Refs #199, PsychQuant/macdoc#175