歷史記錄 · 2026-07-31¶
重大重構里程碑¶
2026-07-31 ─ signaling 開發期 baseline 裁決:重設為 v1¶
決策檔:D-20260731-01
- scoped session、signed envelope、nonce replay guard 與 WSS/GossipSub 共用語意保留。
- 主程式與 signaling repo 仍為
0.0.0、沒有發布 tag 或正式部署,故舊 global lobby 僅是開發草案,不構成須相容的 v1。 - 首次公開 wire baseline 重設為 v1,不保留
signal-v2reader、dual publish 或 migration;真正不相容格式在公開凍結後出現時才升 v2。
2026-07-31 ─ GossipSub topic namespace 契約裁決¶
決策檔:D-20260731-02
- topic 統一為
/open4wd/<chainId>/<topic>/v<major>[/<scope>]:保留前導斜線、使用v1,版本由各訊息家族獨立演進。 - rooms、matchmaking、signaling 與 spectator-chat 的首次公開 baseline 全部從 v1 起始,不保留開發期舊 topic 的雙讀、雙寫或遷移。
- peer-discovery 單一擁有 topic grammar 與 factory;domain 模組不得複製 wire prefix,跨 bootstrap 契約測試須證明發送端 topic 可通過 admission allowlist。
2026-07-31 ─ 部署 profile 與測試鏈隔離裁決¶
決策檔:D-20260731-03
- development/private-playtest/public 改為三份唯讀設定,build 與
check:deployment --profile必須選取同一 profile,不再以 CLI 暫時覆寫 stage。 - private signaling/pinning 可留空,但非空時必須通過
wss:/https:base-origin 格式驗證。 - private 與 public 的 bootstrap/signaling/pinning 經 canonical normalization 後不得有交集,避免測試鏈資料進入正式服務。
2026-07-31 ─ ledger chain identity 貫穿邊界¶
決策檔:D-20260731-04
chainId固定取 canonical ledgerAddress 的完整 CID segment,作為簽章、mutable storage 與 GossipSub topic 的唯一分鏈識別。- ledger-only digest 加入
open4wd-ledger-signature-v1domain 與 chainId;通用 serialize/signing API 維持無 CID 依賴。 - checkpoint control/DB 與 Admission outbox 分鏈,CID-keyed blockstore 仍依內容共用; spectator chat 改由 peer-discovery factory 單一產生 topic,補跨 bootstrap 契約測試。
2026-07-31 ─ Bug Bounty 與私密漏洞重現裁決¶
決策檔:D-20260731-05
- Open4WD 目前不設 Bug Bounty;私密通報、漏洞重現、協調揭露與公開致謝均不構成獎勵承諾。
- 未修補漏洞的重現步驟、exploit 與附件不得放進公開 issue/PR;maintainer 只在私密隔離環境驗證。
- 修復完成或協調揭露後,才可將最小化、去敏的 regression test 納入公開 repo;未來若建立 bounty 必須另立 ADR。