凌晨兩點十三分,林知微把分析室的網線拔了下來。
接口旁的綠色指示燈熄滅,屏幕右下角同時出現離線標記。她等了十秒,確認遠程同步隊列停止,才重新打開顧沉舟的設備登記頁。
白天簽完短約以後,俱樂部把他的身份從臨時測試者改成了正式選手。這個改動不等於首發,卻會為訓練席生成長期設備檔案。舊鍵盤再次校驗時,系統彈出一項尚未解決的衝突:該鍵位序列已有歷史記錄。
林知微在第一次看見提示時就保存了摘要。
她一直沒有點「聯機追溯」。
普通設備衝突只需要確認是不是同一名使用者,提交後由聯盟設備庫自動合併。顧沉舟的記錄卻不普通。那組三短一長的交叉輸入曾短暫喚出紫色診斷層,而紫色不是選手設備管理應該出現的顏色。
聯機追溯會得到答案,也會把查詢者、查詢時間和曜石的終端位置一起送進審計隊列。
她現在還不能確定,隊列另一端會由誰先看見。
更麻煩的是,設備庫的自動合併不會保留所有舊欄位。系統一旦認定兩條記錄屬於同一使用者,就會用新的正式選手編號覆蓋匿名顯示名,並把衝突時間記成「已解決」。對日常管理而言,這是清理重複數據;對一條三年前的記錄而言,則可能把唯一能證明它曾經匿名存在的狀態清理掉。
林知微不反對留下審計記錄。
她只反對在原件尚未固定以前,讓一次不可逆的合併先發生。
林知微從抽屜里拿出一塊只讀存儲盤。外殼沒有品牌標誌,邊緣貼著當天日期。她先導出當前登記頁的文件哈希和公開回執,再把設備校驗產生的本地緩存複製進去,整個過程沒有繞過權限,也沒有訪問聯盟伺服器。
她只是暫時不讓伺服器知道自己準備問什麼。
複製完成後,林知微準備關閉當前窗口。
光標停在輸入框裡。
她刪掉誤敲的兩個字,重新打開離線索引工具。連續工作太久會讓手指比判斷先犯錯,錯誤本身不可怕,把錯誤留進證據鏈才可怕。
索引工具只顯示緩存中已經下載過的欄位:設備掃描碼、按鍵間隔、輸入層級、來源類型和記錄尾碼。沒有選手姓名,沒有聊天內容,也沒有戰術題正文。
足夠做一次窄查詢。
林知微沒有用顧沉舟的臨時編號搜索,而是拆開那組交叉輸入。第一鍵與第二鍵間隔四十七毫秒,第二、第三鍵各四十五毫秒,最後一鍵長按超過四百毫秒。三短一長,順序固定。
這是早期私人訓練沙盒裡常見的自定義切層方式。後來正式終端統一快捷鍵,絕大多數人都改了。保留這種輸入的人,要麼長期使用舊設備,要麼從一開始就沒打算進入公開賽場。
查詢結果轉了兩秒。
屏幕上出現六百七十二條相似輸入。大部分來自舊版本適配測試,時間分散、順序也不完全一致。林知微把誤差從十五毫秒收窄到五毫秒,結果剩下十九條;再限定三短一長與物理掃描碼,十九條只剩一條。
記錄生成於三年前。
比那場冠軍賽早七十九天。
來源類型不是職業訓練服,也不是曜石俱樂部,而是「私人協作沙盒」。所屬帳戶欄經過匿名處理,顯示名稱只有一個空白字符。
空格。
林知微向後靠在椅背上。
匿名處理通常會生成一串隨機代號,不會留下原帳戶暱稱。只有一種情況例外:提交者自己設置的顯示名不含可見字符,系統清洗後仍保留原欄位長度。記錄顯示名稱占用一個字符,卻沒有任何筆畫,說明它不是「姓名被刪除」,而是從創建時就只有一個空格。
那個人刻意不讓榜單替自己取名。
這個名字在公開選手榜上不存在,在戰術模擬圈裡卻不算陌生。三年前,有個不留暱稱的帳號連續提交五人協同解法。它不追求單局最高分,也很少給某個位置固定劇本,最常做的是列出每個人為一個判斷要付什麼代價。
模擬題不會抱怨,也不會臨時反對。那個帳號卻總在答案里給前排留一條拒絕路線,給指揮留最終口令,還會把失敗後的撤退寫得比成功步驟更長。
當時不少人認為帳號背後是退役教練。
也有人認為是某支冠軍隊在匿名測試新戰術。
林知微見過其中十二份解法。不是在公開模擬榜,而是在一批行為偏差樣本里。她負責確認模型是否因為匿名帳戶沒有履歷,就錯誤降低其決策權重。測試結論是,空格的戰術判斷遠高於它的身份可信度,系統應當把兩者分開。
後來那項修正有沒有被正確使用,她沒有拿到完整結果。
空格也在冠軍賽後停止更新。
林知微展開帳戶的公開活動摘要。最早一條在五年前,使用的是普通薄膜鍵盤,輸入間隔波動很大;兩年後,設備掃描碼換成眼前這一組,提交頻率從每周一次變成每天數次。最後一份解法保存於冠軍賽前九天,題目編號屬於冠軍行為模型的對抗測試。
摘要看不見答案,只保存評分維度。
個人輸出,六十一。
團隊資源效率,九十三。
失敗撤離完整度,九十八。
模型不可預測性,九十六。
最後一項旁邊有一次人工覆核標誌。覆核意見已經刪除,只剩結論:「匿名低履歷不應降低戰術樣本權重。」
林知微記得這個結論,因為意見是她提交的。
現在再看,空格的時間線有一個過於醒目的斷點。
冠軍賽前九天,最後一次提交。
冠軍賽後,永久沉默。
顧沉舟今天十九歲。五年前十四歲,三年前十六歲。
年齡對得上,不能證明帳號屬於他。十四歲的少年也可能只是在哥哥設備旁看別人操作;職業選手也可能用匿名帳號規避訓練限制。數字只負責縮小解釋範圍,不負責替她選中其中一個。
現在,同一組物理鍵位出現在顧沉舟帶來的舊鍵盤上。
林知微沒有立刻寫下「顧沉舟就是空格」。設備可以轉讓,帳戶可以共用,尤其那隻鍵盤包明顯屬於顧家舊物。眼前只能證明三件事:這塊鍵盤曾在三年前接入私人協作沙盒;沙盒帳戶的顯示名是一個空格;今天的使用者保留了相同的輸入節奏。
結論再往前一步,就需要顧沉舟本人確認。
她不準備現在問。
不是因為問題不重要,而是她現在一開口,就必須解釋自己為什麼認識空格、為什麼知道紫色層級,也必須決定是否把一條未經固定的記錄交給韓岑。三個問題綁在一起,任何一個答得不完整,都會把求證變成互相交換一半秘密。
有限合作可以從一半事實開始,證據不能。
門外傳來很輕的腳步聲。林知微關掉記錄詳情,只留下普通設備頁。周硯從走廊經過,手裡拿著一張新訓練席門卡。他在分析室門口停了一下。
「還沒走?」
「正式登記有歷史衝突。」
「影響明天訓練嗎?」
「不影響硬體。」
她仍然只回答硬體。
周硯看了離線標記一眼,沒有要求她接回網絡:「處理完鎖門。韓岑明早要報城市賽名單。」
「顧沉舟進首發?」
「先註冊正式選手。首發看訓練。」
「你同意他查舊案?」
周硯握著門卡的手收緊了一點:「我同意按合同給權限。查到什麼,不等於可以在比賽里做什麼。」
他說完便走了。
林知微等腳步聲消失,重新打開離線記錄。周硯沒有問歷史衝突是什麼,可能是尊重分析席權限,也可能是他今晚已經聽見了足夠多與三年前有關的內容。
她把「空格」記錄與顧沉舟當前校驗放到左右兩欄。
鍵位相同。
平均間隔誤差不到三毫秒。
最後一鍵的長按時間卻差了四十一毫秒。三年前更短,今天更穩。若是同一個人,這種變化符合手掌長大和長期訓練後的結果;若是兄弟共用設備,也可能只是模仿同一套習慣。
林知微打開記錄的來源簽名。
正常沙盒條目應包含帳戶簽名、題目編號、保存節點與刪除策略。這一條只有前兩項,保存節點被替換成灰色校驗符,刪除策略顯示「繼承上級鏈」。
上級鏈無法從公開緩存展開。
她點擊灰色校驗符,工具提示該欄位屬於不可顯示層級。顏色與顧沉舟開機時一閃而過的診斷條完全一致。
紫色診斷層不是因為舊鍵盤故障偶然出現。
至少三年前,這條匿名記錄就已經與它發生過關聯。
林知微又比對了當前鍵盤的硬體照片。外殼磨損、空格鍵右側劃痕和背板第二顆螺絲的缺口都能對應舊掃描圖,說明這不是兩塊恰好採用相同鍵位的設備。控制板序列號卻不一致,三年前的原件曾經更換過。
換板可以解釋物理序列變化,也意味著鍵盤本身不能證明是誰完成那些戰術題。它是一件經過多人使用和維修的舊物,不是一份簽名。
林知微把這個反證也寫進備註。
只保存支持自己猜測的部分,是最容易製造出來的完整證據。
林知微取出第二塊存儲盤,將當前頁拆成兩個副本。第一份只保留公開欄位、時間和哈希,可以在不暴露查詢方法的情況下證明歷史記錄存在;第二份保存灰色校驗符及層級關係,加密後單獨封存。
兩份不能放在一起。
一份若被質疑,另一份才能證明她沒有事後修改;一份若觸發審計,另一份也不會立刻暴露所有查詢路徑。
她在封存袋上只寫日期,不寫顧沉舟,也不寫空格。
分析室窗外,訓練區已經關燈。最中間的新席位還沒有放名牌,桌上只有周硯剛送來的門卡。林知微望了兩秒,想起顧沉舟第一次看見紫色診斷條時沒有嘗試打開,第二次登記時也沒有借無人注意追查。
他可能不知道這條記錄存在。
也可能比任何人都清楚,因此才不碰。
兩種解釋都不能靠觀察區分。
林知微將網線接回去,卻沒有上傳離線查詢結果。
同一個誤觸再次出現在空白備註欄。
她盯著那兩個不屬於當前工作的字,刪掉,起身去洗了把臉。回來後,她按正確流程退出設備登記,重新核對封存檔編號。這次沒有任何多餘輸入。
凌晨兩點四十七分,分析端自動同步恢復。伺服器只收到一條正常狀態:正式選手設備登記完成,歷史衝突待人工確認。
林知微最後檢查那條匿名記錄。
解法正文為空,提交者為空,保存節點為空。
唯一沒有被抹去的是校驗尾碼。
最後一組字符是R17-04。