SQLiteSandbox 每次呼叫都洩漏一個連線
sandbox.py 有三處寫成 with self.connect() as c:。那是 sqlite3 的交易 context manager —— 它 commit 或 rollback,從不 close。每一次建構、put 與 get 都洩漏一個開啟的連線,外加 WAL 模式產生的 -wal 與 -shm 檔。
POSIX 允許 unlink 開啟中的檔案,所以在那裡測得過。Windows 在清理暫存目錄時拋出 WinError 32,使 v1.0 在 Windows 上實際是 70 passed/5 failed,而不是記錄的 75。這是執行期的 handle 洩漏,不只是測試環境的產物。
閘門的測試通過率是寫死的 1.0
Finalizer 直接把寫死的 1.0 交給閘門。因此任何測試失敗都不可能擋下放行 —— 上面那五個失敗就是這樣在一張「通過」的證書底下出貨的。政策要求 test_pass_rate = 1.0,而 finalizer 用斷言把它供應了出來。
schema 有效率同樣是字面值
一樣寫死 1.0,但真正的量測方式一直都在:schema registry 可以驗證每一筆已遷移的證書,現在也確實這麼做了。
API 相容性檢查不可能失敗
它把當前 manifest 拿去跟自己剛建好的第二份副本比對。那在結構上必然相容。把 ReleaseGate 從 stable 符號中刪掉、再把一個簽名改壞,它依然回報 compatible: true —— 這是實測,不是推論。現在改為與磁碟上凍結的 baseline 比對。
Release 摘要不跨平台重現
Path.write_text 預設 newline=None,會把 \n 轉成 os.linesep。每一個被雜湊的 artifact 都經過它,因此相同內容會依打包主機不同而產生不同摘要,一台機器產生的 SHA256SUMS.txt 在另一台會驗證失敗。對一個用摘要綁定證據的系統,這不是外觀問題。