歷史記錄 · 2026-07-27¶
重大重構里程碑¶
2026-07-27 ─ 週邊 repo 容器安全基線¶
決策檔:D-20260727-04
- 三顆公版 Template repo 的公開前稽核照出 canon 空白:
runAsNonRoot/securityContext/非 root 執行/runtime 映像內容全 corpus 零命中,三顆 repo 因此各自為政——signaling 與 pinning 的 Node 映像皆以 root 執行並把型別檢查器、test runner、雲端 CLI 裝進 runtime,k8s manifests 無任何securityContext。 - pinning 是唯一發布 public image 者(CI 推 GHCR),使用者直接
docker pull執行,硬化責任無法下推給部署者——缺口自「各自的部署選擇」升級為公版交付物品質問題。 - 立 資安規範.md 新 §8 為跨 repo 基線(執行身分/映像內容/埠與特權/例外須寫明),只約束自建映像與 manifests;上游官方 image 的內部硬化屬上游責任。
resources與探針明確不納入,維持「範本省略、overlay 自補」既有作法——其合理值隨部署規模差異過大。 - 新節插入 §8、其後八節順移一號;七處活引用同批更新(歷史記錄依
frontmatter type: history的既有出站豁免不動)。實作對齊 gate 在主 repo 轉 public 前,與 pinning 首次推 GHCR、check:vendor上游比對轉綠同一時點。
2026-07-27 ─ 路由導覽與 UGC 公開入口收斂¶
決策檔:D-20260727-03
- 一般頁首的中間導覽改由 route family 而非身分狀態決定:公開導覽為公告/UGC/關於/
說明,玩家導覽為 Home/Garage/Race Config/Editor/UGC;
/ugc/**固定是公開 shell,Race/Watch 維持沉浸例外。 - 公開 UGC 正式網址收斂成
/ugc與/ugc/:cid,Provider 對part | track聯集負責 權威排序、總數與分頁,詳情依回傳 kind 切換。專案未曾公開,舊/tracks、/track/:cid、/part/:cid直接移除、不留轉址。 - 公開「進入遊戲」恆顯示,目的地依解鎖狀態切 Login/Home;Identity 切 Login/本人 Creator。餘額退出 App Shell,只在本人 Creator 顯示,與公開累計收益分離。
- DMCA 保留獨立公開頁並由 UGC/Help 提供入口;修正「每頁 footer」為「designated agent 資訊置於公眾可存取位置」,不侵入玩家與沉浸 shell。非本機 Race Config 補房碼觀戰 alertdialog,密碼與拒因仍由 Watch Page 處理。
2026-07-27 ─ 文檔站 origin 定為 docs.open4wd.org¶
決策檔:D-20260727-02
- MkDocs 相關盤點揪出空白:穩定名稱集合(
open4wd.org與 signal./pin./bootstrap./turn.)全是 runtime 服務端點,部署資訊的 Pages 與 origin 敘述也一律以主 repo 為主詞,規劃中的文檔站沒有任何落點依據。 - 裁決
docs.open4wd.org:獨立 origin 與主站的 Service Worker root scope、CSP、PWA manifest 完全隔離;命名對齊既有「子網域命名功能而非 repo」的慣例(signal而非 signaling);站上內容寬於規格(decisions/、文檔工程.md、ABOUT.en.md、未來/graph/),故不採specs.。 - 排除
open4wd.org/docs/同 origin 子路徑:root scope SW 會攔截/docs/導覽,且該 origin 的 Pages 來自主 repo,會把 spec corpus 產物綁進主 repo 部署流程。 - 比照
signal.open4wd.org處置=僅保留名稱與部署契約、未部署、不得宣稱可用;建站仍閘在首測與轉 public 之後,本輪不寫mkdocs.yml、不動 workflow。
2026-07-27 ─ 決策檔 sources 收斂為字面前綴+ADR 與流水帳雙向硬閘¶
決策檔:D-20260727-01
- ADR 分類稽核揪出
sources從未被機器驗證的後果:16 條不符 README 既有定義(縮寫 12、指向 corpus 不存在的工作階段名 1、前綴同時命中兩條 2、缺.md與′等字元 4 分屬前述類別),另 3 筆次級候選併入只留條目端單向引用、parent 未回填。同一盲區先前已讓 5 個決策檔在零流水帳條目的情況下通過全部檢查。 - 往嚴格側收斂而非放寬定義:
sources=條目標題字面前綴(比對忽略空白與標點)、該日唯一解析、撞名補長到可區分;sources與「決策檔」回引雙向一致;一次裁決吸收多條條目時每條都要列入。18 個決策檔的 19 條sources依此改寫,決策本文一字未動。 decisions/README.md同批明文化兩件事:frontmatter 關聯性 metadata(sources/files/vectors)允許回填更正、決策本文仍不可變;併入時被併入條目也要進 parent 的sources。規則先於資料改寫。check:decisions新增兩道硬閘執行上述規則,連同同輪補上的「年度索引條目數」與「決策檔連結以自身目錄解析」,歷史記錄側自此四道看守;ADR↔流水帳的雙向關係不再依賴人工稽核。
2026-07-27 ─ 文檔 corpus 與 MkDocs 導覽生成邊界(issues 000033、000034)¶
決策檔:D-20260727-05
MkDocs 導覽改為鏡射 corpus 既有目錄,根層與段內依 frontmatter type、再按 zh-Hant
排序;同名 X.md 作為 X/ 段落入口。首頁固定使用《總覽》,根層 README 明確歸為 repo
管理檔,不進 corpus、生成索引或站台內容,避免重新按 domain 分類與首頁權威衝突。