最終判罰在九點五十八分送達,比通知早兩分鐘。
顧沉舟先記下送達時刻,再打開文件。
首頁只有四行結論:曜石對霧港場次存在足以影響賽果的客戶端異常;異常與曜石註冊設備處於同一完整性鏈;曜石本場勝利取消,記技術負;霧港按勝場計分,不承擔設備責任,不安排重賽。
文件右下角蓋著星聯紀律部的電子簽章。簽章時間是九點四十一分,早於送達十七分鐘。
這一次,十七分鐘很正常。決定先簽發,再經過系統分發,時間順序沒有矛盾。
顧沉舟把它也寫進表格。
會議室里沒有人說話。牆上的積分頁面自動刷新,曜石隊名後面那枚綠色勝點消失,戰績從一勝變成一負。霧港升到小組第二,賽後數據仍保留原始比分,旁邊多了一個灰色的「技術改判」。
公開頁面沒有刪掉許燃的打斷,也沒有把霧港終局的兩人上傳改成成功。錄像下方同時顯示「實際賽況:曜石三比二」和「競賽結果:霧港勝」。兩行字讓所有看見的人都能選擇自己更願意相信的一行。
公共帳號收到上千條消息。有人要求曜石交還比賽獎金,有人說霧港撿了一場勝利,也有人把顧臨川三年前的判罰截圖貼在顧沉舟選手照下面。韓岑關掉提醒,沒有刪除評論。此刻回應都會被截成立場證據。
霧港隊長發來一條私人消息,只寫:「書面意見是全隊確認過的。我們不認定你們作弊,也不放棄規則積分。」
周硯把消息投到會議屏:「需要回復嗎?」
顧沉舟說:「回復收到。不要讓他們替我們申訴。」
霧港得到積分不是幕後共犯的證明,拒絕積分也不會讓異常消失。把壓力推給對手,只能製造一支更容易罵的隊伍,不能補上設備時間線。
周硯照原話回復。對面很快回了一個句號,表示消息送達,沒有多加一句立場。
許燃盯著那四個字:「所以我十一點六秒跑進去,算什麼?」
周硯說:「算實際發生過。」
「勝利呢?」
「也發生過。積分不承認。」
「這兩句話放一起,聽著像安慰。」
「不是。」周硯把判罰文件翻到理由頁,「發生過的可以復盤,不成立的不能拿來排賽程。」
許燃沒再爭。他把自己那場的個人高光文件夾改名,在「首勝」前面加了兩個字:取消。
韓岑問顧沉舟:「先看結論,還是先找漏洞?」
「結論已經看完。」
「感想呢?」
「不是證據。」
唐梨坐在桌子另一側,證件下那枚薄存儲片沒有拿出來。她昨晚把能證明和不能證明的範圍寫成一頁紙,交給周硯看過,卻仍沒有將原截圖錄入俱樂部材料。最終判罰沒有等待它。
顧沉舟並不怪她。若一份還未進入合法證據鏈的截圖成為全隊唯一希望,真正需要修正的不是持有人交得太慢,而是其他證據太弱。
他往後翻。
紀律部沒有認定主觀作弊,也沒有給顧沉舟追加禁賽。判罰依據是競賽規則第十四條:註冊設備產生無法排除的異常數據,且異常對賽果形成直接影響時,涉事隊伍承擔賽果責任。理由部分承認牆體變化對雙方可見,也承認曜石的終局操作均由選手主動完成;但若碰撞層按標準時間生成,許燃無法走完最短路線,因此原賽果不能維持。
邏輯是閉合的。
它不需要證明顧沉舟想作弊,不需要證明舊鍵盤發出哪條具體指令,只需要三件事同時成立:設備不合規,客戶端有異常,曜石從異常中受益。
前兩件事之間那條尚未證明的因果,被規則里的「無法排除」暫時接了起來。
「上訴期限四十八小時。」韓岑說,「繼續追,會把設備管理罰也翻出來。適配器沒通過完整性,這一項我們確實有責任。」
「誰批准它進正式終端?」周硯問。
韓岑沒有把責任推給設備員。曜石如今沒有專職設備員,那份工作本來就是他臨時兼任。
「單獨認設備責任。」顧沉舟說,「上訴賽果因果。」
韓岑看著他:「你知道這不會自動換回一場重賽。」
「知道。」
「也可能只得到一句程序無誤。」
「那就讓他們把哪一步無誤寫清楚。」
周硯把剩餘賽程投到屏幕。取消首勝後,曜石還剩四場循環賽,至少贏三場才有穩定出線機會。上訴材料由俱樂部自己整理,聯盟不會因此延後下一場;林知微若投入調查,戰隊便少一個賽前分析人,其他隊員也可能再次被叫去補充說明。
「不是你一個人的上訴。」周硯說,「說清代價,再由全隊決定。」
顧沉舟點頭。他先報最壞結果:賽果不變,設備罰款追加,調查占用兩天備賽,舊鍵盤繼續封存。最好結果也不是重賽,只是撤銷設備與地圖異常的因果認定,積分如何處理仍需另議。
許燃問:「那我們忙兩天,最多把『作弊輸』改成『不知道為什麼輸』?」
「是。」
「聽著很虧。」
「是。」
許燃把剛改過名字的高光文件夾關掉:「但不改,別人以後每次看我這條路線,都能說是外設替我開的門。上訴算我一份。」
唐梨說自己會繼續整理時間截圖,但是否交出唐嶼相關資料,要先由她本人確認來源。秦越只問了一句:「訓練時間能不能保住?」
周硯回答:「每天至少六小時,誰去問詢,晚上由我補復盤。」
秦越把自己的名字寫進同意欄。林知微最後簽,她註明的條件是所有對外判斷必須區分事實、推斷和未驗證來源。
顧沉舟沒有第一個簽。他等其他人表明選擇後,才在末尾寫下名字。因為這件事裡他有一項別人沒有的收益:每查清一條設備因果,顧臨川的舊案就多一個重新審視的理由。
若他先用「全隊榮譽」要求繼續,很容易把自己的私心藏在大家共同的簽名里。
但上訴不能只寫哥哥。霧港沒有參與異常,曜石也確實使用了不合規適配器;如果把所有不利事實刪掉,只留下兩場相似字符,得到的不是翻案,是另一條更順口的單一解釋。
顧沉舟在上訴表格上先寫兩項承認:接受設備管理違規處罰;不主張霧港存在不當行為。第三項才是異議:現有記錄無法證明設備異常先於、並導致地圖異常。
林知微看完,把「無法證明」改成「現有披露記錄尚不能證明」。
「區別?」許燃問。
「前一句像結論,後一句限定證據範圍。」
「你們兩個以後寫一份情書,是不是還要附適用範圍?」
唐梨終於抬頭:「先別替別人擴大共享權限。」
許燃看了看顧沉舟,又看林知微,發現兩個人都在認真檢查修改後的句子,只好自己把話題收回去:「行,當我提交了無效意見。」
氣氛只鬆開幾秒。顧沉舟翻到判罰附件,開始找昨天問詢沒有開放的設備接入回執。
附件一是官方直播片段,附件二是客戶端異常摘要,附件三是註冊適配器校驗報告,附件四終於列出本場所有涉檢設備的接入序列。
舊鍵盤沒有直接接入正式終端。它先連接一隻隔離適配器,由適配器載入顧沉舟的註冊配置。賽前檢查確認按鍵輸出正常,隨後在正式比賽開始前將適配器接到選手席埠。
回執時間精確到毫秒。
顧沉舟把附件四拖到左側,再打開附件二。異常摘要里有兩類時間:牆體材質實際調用發生在終局階段;「設備異常關聯記錄」卻在賽前寫入,記錄內容是檢測到非標準材質索引,並將風險源綁定到顧沉舟註冊配置。
昨天的技術觀察員說,這來自不同時間域。
判罰文件為了統一證據,已經把兩者都轉換為場館標準時間。轉換方法寫在附件說明里:正式終端接入回執來自場館網關,異常關聯記錄來自完整性服務;二者分別用開賽握手包校正,允許誤差不超過零點二秒。
不是十一分鐘的誤差。
顧沉舟先核對會話編號。相同。
再核對比賽種子尾號。相同。
設備異常關聯記錄對應的確實是這一場、這一台正式終端和這一份顧沉舟註冊配置,不是前一場訓練留下的舊條目。
然後他把兩個時間寫到紙上。
異常關聯記錄寫入:二十時三十一分十四秒。
隔離適配器接入正式終端:二十時四十二分十九秒。
前者早十一分零五秒。
林知微先懷疑時區轉換。場館網關使用本地標準時間,完整性服務內部保存協調時,判罰附件可能在導出時重複加過八小時。她把兩條原始欄位展開,偏移標記分別是`+08:00`和`Z`,轉換結果正確;若真重複換算,差值應當是整整八小時,不會是十一分鐘。
顧沉舟再用開賽握手包校驗。兩個系統都記錄了同一枚公共隨機數,生成時間只差零點零六秒,說明它們在本場會話里至少有一個共同時間錨。附件所稱的零點二秒允許誤差沒有被偷偷放大。
他們還檢查異常記錄是否可能在訓練終端預先創建、接入正式終端後才繼承。記錄里的硬體欄位不是舊鍵盤序列號,而是選手席埠號;那個埠只屬於本場正式終端。若是繼承,系統必須在適配器尚未接入時就知道它之後會被分配到哪一個席位。
這仍可能來自賽前排位表,不必然意味著惡意。可它證明記錄不是一條無關訓練告警被偶然帶進比賽。
林知微沒有立刻認可。她重算兩套時間域的校正值,又檢查附件是否把「任務預建」誤寫成「異常記錄」。欄位說明明確寫著:該記錄在檢測到具體異常索引後創建,非空白任務。
「能證明什麼?」周硯問。
「能證明完整性服務在適配器接入正式終端前,已經把一個具體異常索引綁定到它。」林知微說,「還不能證明是誰綁定,也不能證明牆面一定因此變化。」
唐梨把自己的存儲片放到桌上,卻沒有推向材料區:「我的截圖裡,覆核任務比牆面變化早十四秒。」
一條記錄早十一分鐘,一項審核早十四秒。它們來自不同設備、不同權限和不同持有人,都在被判定的行為發生之前留下了結果。
顧沉舟把封存回執放到第三列。回執證明舊鍵盤進入賽務控制的時刻,不能證明它此前在任何環境都無異常;附件證明風險記錄已經綁定本場,不能證明綁定一定錯誤。兩條記錄之間仍有需要調查的空白,卻不再能被一句「時間域不同」蓋住。
韓岑問:「現在夠上訴嗎?」
「夠提出時間矛盾,不夠證明系統預設。」顧沉舟說。
「你想怎麼寫?」
顧沉舟沒有寫「聯盟陷害」,也沒有寫「顧臨川舊案重演」。他只把附件編號、欄位定義、校正方法和十一分鐘差值列成四行,請紀律部說明異常記錄的生成條件,並調取記錄創建時對應的輸入源。
寫完,他把兩張時間表遞給林知微。
「如果設備還沒接上,」顧沉舟說,「究竟是誰先替它犯了錯?」