D-20260712-02|公版 GLB 交接契約與可重現測試門檻¶
背景與驅動力¶
公開發布準備期:公版 GLB 屬維護者最後補入的正式資產,一般開發與 PR 卻長期處於缺檔狀態——需要一份讓「缺檔可開發」與「發布必嚴格」並存的交接契約,以及公開前可重現的測試基線。
考慮過的選項¶
- 把公版 GLB 加 ignore、或以合成 / 假 GLB 冒充過檢:發布面失真——明文禁止。
- 交接契約 + 開發與 release 雙層資產檢查(採納)。
決定¶
- 公版 GLB= 維護者最後補入的正式資產:不加 ignore、不得假 GLB 冒充;一般開發與 PR 缺檔仍可 build/test(開發資產檢查只驗現存檔案);獨立嚴格 release gate 在清單不完整時必須明確失敗。維護者補齊後重跑嚴格資產檢查、production build 與完整 E2E,再推 private、持續本機優化、最終轉 public;README 與貢獻指南留到本機功能驗證後最後補。
- CI/ 本機基線:固定 Node 24+frozen lockfile;coverage 門檻 lines/functions/statements 80%、branches 75%;property、八人 in-memory mesh、determinism、fuzz 與 performance 全固定 seed、可重播失敗、不觸外網;Playwright 覆蓋 Chromium、Firefox、WebKit、Pixel 7 與 iPhone 14 五組。
- 設定以
SettingsService為持久化邊界(可深連分類、pinning 節點管理、TURN、鍵盤 / 手把 binding、PIN gate 原子 reset);無效 URL、衝突或 PIN 失敗不得留下部分持久化。 - 本階段不製作、修改、選擇或判定最終 GLB 授權,也不執行發布或 git 寫入操作。
後果與影響¶
「缺檔可開發、發布必嚴格」讓公開 repo 與正式資產交接解耦,假資產無法混過發布面;固定 seed、不觸外網與五瀏覽器裝置矩陣使發布前驗證可重現。測試權威見 程式架構/testing.md、公版資產面見 程式架構/builtin-assets.md。