跳轉到

D-20260814-22|真實資產 CI 分層證據

背景與驅動力

既有真實 GLB E2E 由 opt-in 旗標控制,CI 綠燈既不列出 skip,也混淆 repository 內的 shipped canonical 成品與 repository 外約 1.6GB 的 Editor authoring 原檔。實測證明 canonical 成品不能反向替代 authoring 輸入;另一方面 shipped 成品已足以提供高價值的瀏覽器組裝、載入、進賽與結果頁證據。

考慮過的選項

  • 把 canonical 成品餵回 Editor 當 authoring fixture:與原始 bytes、匯入消毒及編輯語意不同,否決。
  • 在 authoring 原檔不可用時靜默 skip:使 CI 綠燈誤稱真實流程已覆蓋,否決。
  • 將 shipped canonical required gate 與 external authoring availability/journey 分層:採納。

決定

  • PR 以 Chromium、retries=0 必跑 shipped canonical profile,覆蓋正式 GLB 組裝、載入、進賽與 local result;required reporter 對 missing/skipped fail closed。
  • nightly/release 重跑同一 profile,另以獨立 profile 執行有界首幀效能採樣。
  • authoring profile 只接受 manifest 鎖定的原始 bytes。CI 每次報告 available/missing/hashMismatch;整個外部來源根不存在時記為 unavailable remaining evidence,部分缺失或 hash 漂移一律失敗。
  • 結果頁 gate 不冒充自然抵達終點;shipped content 的自然完賽校準由獨立內容議題追蹤。

後果與影響

一般 PR 取得可重現且不依賴外部大型檔案的真實成品旅程,同時不再把缺少 authoring 原檔說成已通過。代價是仍需另行決定大型原始來源的 CI 分發與保存方式,才能把 Editor authoring journey 升為 required。